Exemple #1
0
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;
}
Exemple #2
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;
}