Skip to main content
Http2ServerResponse.prototype.writeHead - node__http2.d.ts - Node documentation
method Http2ServerResponse.prototype.writeHead

Usage in Deno

```typescript import { Http2ServerResponse } from "node:node__http2.d.ts"; ```
Http2ServerResponse.prototype.writeHead(
statusCode: number,
): this
Sends a response header to the request. The status code is a 3-digit HTTP status code, like `404`. The last argument, `headers`, are the response headers. Returns a reference to the `Http2ServerResponse`, so that calls can be chained. For compatibility with `HTTP/1`, a human-readable `statusMessage` may be passed as the second argument. However, because the `statusMessage` has no meaning within HTTP/2, the argument will have no effect and a process warning will be emitted. ```js const body = 'hello world'; response.writeHead(200, { 'Content-Length': Buffer.byteLength(body), 'Content-Type': 'text/plain; charset=utf-8', }); ``` `Content-Length` is given in bytes not characters. The`Buffer.byteLength()` API may be used to determine the number of bytes in a given encoding. On outbound messages, Node.js does not check if Content-Length and the length of the body being transmitted are equal or not. However, when receiving messages, Node.js will automatically reject messages when the `Content-Length` does not match the actual payload size. This method may be called at most one time on a message before `response.end()` is called. If `response.write()` or `response.end()` are called before calling this, the implicit/mutable headers will be calculated and call this function. When headers have been set with `response.setHeader()`, they will be merged with any headers passed to `response.writeHead()`, with the headers passed to `response.writeHead()` given precedence. ```js // Returns content-type = text/plain const server = http2.createServer((req, res) => { res.setHeader('Content-Type', 'text/html; charset=utf-8'); res.setHeader('X-Foo', 'bar'); res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' }); res.end('ok'); }); ``` Attempting to set a header field name or value that contains invalid characters will result in a `TypeError` being thrown.

Parameters

statusCode: number
optional
headers: OutgoingHttpHeaders

Return Type

this
Http2ServerResponse.prototype.writeHead(
statusCode: number,
statusMessage: string,
): this

Parameters

statusCode: number
statusMessage: string
optional
headers: OutgoingHttpHeaders

Return Type

this