nghttp2_submit_altsvc
Synopsis
#include <nghttp2/nghttp2.h>
-
int nghttp2_submit_altsvc(nghttp2_session *session, uint8_t flags, int32_t stream_id, const uint8_t *origin, size_t origin_len, const uint8_t *field_value, size_t field_value_len)
Submits ALTSVC frame.
ALTSVC frame is a non-critical extension to HTTP/2, and defined in RFC 7383.
The flags is currently ignored and should be
nghttp2_flag.NGHTTP2_FLAG_NONE
.The origin points to the origin this alternative service is associated with. The origin_len is the length of the origin. If stream_id is 0, the origin must be specified. If stream_id is not zero, the origin must be empty (in other words, origin_len must be 0).
The ALTSVC frame is only usable from server side. If this function is invoked with client side session, this function returns
nghttp2_error.NGHTTP2_ERR_INVALID_STATE
.This function returns 0 if it succeeds, or one of the following negative error codes:
nghttp2_error.NGHTTP2_ERR_NOMEM
Out of memory
nghttp2_error.NGHTTP2_ERR_INVALID_STATE
The function is called from client side session
nghttp2_error.NGHTTP2_ERR_INVALID_ARGUMENT
The sum of origin_len and field_value_len is larger than 16382; or origin_len is 0 while stream_id is 0; or origin_len is not 0 while stream_id is not 0.