Skip to main content
createServer - http2 - Node documentation
function createServer

Usage in Deno

import { createServer } from "node:http2";
createServer(onRequestHandler?: () => void): Http2Server

Returns a net.Server instance that creates and manages Http2Session instances.

Since there are no browsers known that support unencrypted HTTP/2, the use of createSecureServer is necessary when communicating with browser clients.

import http2 from 'node:http2';

// Create an unencrypted HTTP/2 server.
// Since there are no browsers known that support
// unencrypted HTTP/2, the use of `http2.createSecureServer()`
// is necessary when communicating with browser clients.
const server = http2.createServer();

server.on('stream', (stream, headers) => {
  stream.respond({
    'content-type': 'text/html; charset=utf-8',
    ':status': 200,
  });
  stream.end('<h1>Hello World</h1>');
});

server.listen(8000);

Parameters

optional
onRequestHandler: () => void

See Compatibility API

Return Type

createServer<
Http1Request extends IncomingMessage = IncomingMessage,
Http1Response extends ServerResponse = ServerResponse,
Http2Request extends Http2ServerRequest = Http2ServerRequest,
Http2Response extends Http2ServerResponse = Http2ServerResponse,
>
(
options: ServerOptions<Http1Request, Http1Response, Http2Request, Http2Response>,
onRequestHandler?: (
request: InstanceType<Http2Request>,
response: InstanceType<Http2Response>,
) => void
,
): Http2Server<Http1Request, Http1Response, Http2Request, Http2Response>

Type Parameters

Http1Request extends IncomingMessage = IncomingMessage
Http1Response extends ServerResponse = ServerResponse
Http2Request extends Http2ServerRequest = Http2ServerRequest
Http2Response extends Http2ServerResponse = Http2ServerResponse

Parameters

optional
onRequestHandler: (
request: InstanceType<Http2Request>,
response: InstanceType<Http2Response>,
) => void

Return Type