This documentation is for the TIP (development tree) of NNG and may represent unreleased changes or functionality that is experimental, and is subject to change before release. The latest released version is v1.8.0. See the documentation for v1.8.0 for the most up-to-date information.

nng_http_hijack(3http)

NAME

nng_http_hijack - hijack HTTP server connection

SYNOPSIS

#include <nng/nng.h>
#include <nng/supplemental/http/http.h>

void nng_http_hijack(nng_http_conn *conn);

DESCRIPTION

The nng_http_hijack() function hijacks the connection conn, causing it to be disassociated from the HTTP server where it was created.

The purpose of this function is the creation of HTTP upgraders (such as WebSocket), where the underlying HTTP connection will be taken over for some other purpose, and should not be used any further by the server.

This function is most useful when called from a handler function. (See nng_http_handler_alloc().)

It is the responsibility of the caller to dispose of the underlying connection when it is no longer needed. Furthermore, the HTTP server will no longer send any responses to the hijacked connection, so the caller should do that as well if appropriate. (See nng_http_conn_write_res().)
This function is intended to facilitate uses cases that involve changing the protocol from HTTP, such as WebSocket. Most applications will never need to use this function.

RETURN VALUES

None.

ERRORS

NNG_ECLOSED

The connection was closed.

NNG_ENOMEM

Insufficient free memory exists.

NNG_ENOTSUP

HTTP not supported.

SEE ALSO