Lines Matching defs:wsi

206 static int lws_frag_start(struct lws *wsi, int hdr_token_idx)
208 struct allocated_headers *ah = wsi->http.ah;
237 lws_h2_goaway(lws_get_network_wsi(wsi),
273 static int lws_frag_append(struct lws *wsi, unsigned char c)
275 struct allocated_headers *ah = wsi->http.ah;
280 return (unsigned int)ah->pos >= wsi->a.context->max_http_header_data;
283 static int lws_frag_end(struct lws *wsi)
286 if (lws_frag_append(wsi, 0))
290 wsi->http.ah->frags[wsi->http.ah->nfrag].len--;
292 wsi->http.ah->nfrag++;
297 lws_hdr_extant(struct lws *wsi, enum lws_token_indexes h)
299 struct allocated_headers *ah = wsi->http.ah;
312 static void lws_dump_header(struct lws *wsi, int hdr)
325 len = lws_hdr_copy(wsi, s, sizeof(s) - 1, (enum lws_token_indexes)hdr);
359 lws_token_from_index(struct lws *wsi, int index, const char **arg, int *len,
367 /* dynamic table only belongs to network wsi */
368 wsi = lws_get_network_wsi(wsi);
369 if (!wsi->h2.h2n)
372 dyn = &wsi->h2.h2n->hpack_dyn_table;
396 lws_h2_goaway(wsi, H2_ERR_COMPRESSION_ERROR,
421 lws_h2_dynamic_table_dump(struct lws *wsi)
424 struct lws *nwsi = lws_get_network_wsi(wsi);
486 lws_dynamic_token_insert(struct lws *wsi, int hdr_len,
492 /* dynamic table only belongs to network wsi */
493 wsi = lws_get_network_wsi(wsi);
494 if (!wsi->h2.h2n)
496 dyn = &wsi->h2.h2n->hpack_dyn_table;
503 lws_h2_dynamic_table_dump(wsi);
562 lws_h2_dynamic_table_dump(wsi);
568 lws_hpack_dynamic_size(struct lws *wsi, int size)
591 nwsi = lws_get_network_wsi(wsi);
602 lws_hpack_destroy_dynamic_header(wsi);
671 lws_h2_dynamic_table_dump(wsi);
682 lws_hpack_destroy_dynamic_header(struct lws *wsi)
687 if (!wsi->h2.h2n)
690 dyn = &wsi->h2.h2n->hpack_dyn_table;
703 lws_hpack_use_idx_hdr(struct lws *wsi, int idx, int known_token)
708 int tok = lws_token_from_index(wsi, idx, &arg, &len, NULL);
739 if (lws_frag_start(wsi, tok))
744 if (lws_frag_append(wsi, (unsigned char)*p++))
747 if (lws_frag_end(wsi))
750 lws_dump_header(wsi, tok);
798 lws_hpack_handle_pseudo_rules(struct lws *nwsi, struct lws *wsi, int m)
803 if (wsi->seen_nonpseudoheader &&
819 wsi->seen_nonpseudoheader = 1;
824 int lws_hpack_interpret(struct lws *wsi, unsigned char c)
826 struct lws *nwsi = lws_get_network_wsi(wsi);
828 struct allocated_headers *ah = wsi->http.ah;
861 lws_h2_dynamic_table_dump(wsi);
876 m = lws_token_from_index(wsi, (int)h2n->hdr_idx,
878 if (lws_hpack_handle_pseudo_rules(nwsi, wsi, m))
882 if (lws_hpack_use_idx_hdr(wsi, c & 0x7f, -1)) {
981 if (lws_hpack_dynamic_size(wsi, (int)h2n->hpack_len))
1000 if (lws_hpack_use_idx_hdr(wsi, (int)h2n->hpack_len,
1010 if (lws_hpack_dynamic_size(wsi, (int)h2n->hpack_len))
1066 n = lws_token_from_index(wsi, (int)h2n->hdr_idx, NULL,
1088 lws_frag_start(wsi, n)) {
1152 wsi, &c1)) {
1168 if (lws_frag_append(wsi, c1)) {
1180 * in wsi->parser_state
1201 lws_parse(wsi, &c1, &plen))
1230 lwsl_header("wsi->parser_state: %d\n",
1237 n = lws_parse(wsi, &c1, &plen);
1248 wsi->seen_nonpseudoheader = 1;
1274 m = lws_token_from_index(wsi, (int)h2n->hdr_idx, NULL, NULL,
1314 if (lws_dynamic_token_insert(wsi, (int)h2n->hpack_hdr_len, m,
1326 if (h2n->hdr_idx != LWS_HPACK_IGNORE_ENTRY && lws_frag_end(wsi))
1338 m = lws_token_from_index(wsi, (int)h2n->hdr_idx,
1343 lws_dump_header(wsi, m);
1345 if (lws_hpack_handle_pseudo_rules(nwsi, wsi, m))
1392 int lws_add_http2_header_by_name(struct lws *wsi, const unsigned char *name,
1417 if (wsi->mux_substream && !strncmp((const char *)name,
1450 int lws_add_http2_header_by_token(struct lws *wsi, enum lws_token_indexes token,
1460 return lws_add_http2_header_by_name(wsi, name, value, length, p, end);
1463 int lws_add_http2_header_status(struct lws *wsi, unsigned int code,
1469 wsi->h2.send_END_STREAM = 0; // !!(code >= 400);
1472 if (lws_add_http2_header_by_token(wsi, WSI_TOKEN_HTTP_COLON_STATUS,