int lws_add_http_header_by_name(struct libwebsocket_context *context, struct libwebsocket *wsi, const unsigned char *name, const unsigned char *value, int length, unsigned char **p, unsigned char *end) { #ifdef LWS_USE_HTTP2 if (wsi->mode == LWS_CONNMODE_HTTP2_SERVING) return lws_add_http2_header_by_name(context, wsi, name, value, length, p, end); #endif if (name) { while (*p < end && *name) *((*p)++) = *name++; if (*p == end) return 1; *((*p)++) = ' '; } if (*p + length + 3 >= end) return 1; memcpy(*p, value, length); *p += length; *((*p)++) = '\x0d'; *((*p)++) = '\x0a'; return 0; }
int lws_add_http_header_by_name(struct lws *wsi, const unsigned char *name, const unsigned char *value, int length, unsigned char **p, unsigned char *end) { #ifdef LWS_WITH_HTTP2 if (wsi->mode == LWSCM_HTTP2_SERVING) return lws_add_http2_header_by_name(wsi, name, value, length, p, end); #else (void)wsi; #endif if (name) { while (*p < end && *name) *((*p)++) = *name++; if (*p == end) return 1; *((*p)++) = ' '; } if (*p + length + 3 >= end) return 1; memcpy(*p, value, length); *p += length; *((*p)++) = '\x0d'; *((*p)++) = '\x0a'; return 0; }