# nng_http_req_set_header(3http) Manual Page

## NAME

nng_http_req_set_header - set HTTP request header

## SYNOPSIS

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

    int nng_http_req_set_header(nng_http_req *req, const char *key,
        const char *val);

## DESCRIPTION

The `nng_http_req_set_header()` sets the HTTP header for the request req and the key to the val. The key and val are copied. Any previous header with the same key is replaced.

| See `nng_http_req_add_header()` to add additional headers with the same key without replacing them.

The value of key is case insensitive, and should not include the final colon in an HTTP header. For example, specifying `Host` or `hOSt` are equivalent, whereas the value `Host:` is not a legal header key.

## RETURN VALUES

This function returns 0 on success, and non-zero otherwise.

## ERRORS

`NNG_ENOMEM` | Insufficient memory to perform the operation.
`NNG_ENOTSUP` | No support for HTTP in the library.

## SEE ALSO

nng_http_req_alloc(3http), nng_http_req_add_header(3http), nng_http_req_del_header(3http), nng_http_req_get_header(3http), nng(7)