Lines Matching refs:http
56 ah->next = pt->http.ah_list;
57 pt->http.ah_list = ah;
59 pt->http.ah_pool_length++;
62 ah, (int)data_size, (unsigned int)pt->http.ah_pool_length);
70 lws_start_foreach_llp(struct allocated_headers **, a, pt->http.ah_list) {
73 pt->http.ah_pool_length--;
76 (unsigned int)pt->http.ah_pool_length);
111 struct allocated_headers *ah = wsi->http.ah;
165 struct lws **pwsi = &pt->http.ah_wait_list;
170 pwsi = &(*pwsi)->http.ah_wait_list;
174 wsi->http.ah_wait_list = pt->http.ah_wait_list;
175 pt->http.ah_wait_list = wsi;
176 pt->http.ah_wait_list_length++;
187 struct lws **pwsi =&pt->http.ah_wait_list;
193 *pwsi = wsi->http.ah_wait_list;
195 wsi->http.ah_wait_list = NULL;
196 pt->http.ah_wait_list_length--;
200 pwsi = &(*pwsi)->http.ah_wait_list;
220 lws_wsi_tag(wsi), (void *)wsi->http.ah, wsi->tsi,
221 pt->http.ah_count_in_use);
232 if (wsi->http.ah) {
237 n = pt->http.ah_count_in_use == (int)context->max_http_header_pool;
257 wsi->http.ah = _lws_create_ah(pt, context->max_http_header_data);
258 if (!wsi->http.ah) { /* we could not create an ah */
264 wsi->http.ah->in_use = 1;
265 wsi->http.ah->wsi = wsi; /* mark our owner */
266 pt->http.ah_count_in_use++;
272 wsi->peer->http.count_ah++;
279 lws_wsi_tag(wsi), (void *)wsi->http.ah, pt->http.ah_count_in_use);
309 struct allocated_headers *ah = wsi->http.ah;
322 pt->http.ah_count_in_use);
340 assert(pt->http.ah_count_in_use > 0);
343 memset(&wsi->http.ah, 0, sizeof(wsi->http.ah));
350 wsi->http.ah = NULL;
352 pwsi = &pt->http.ah_wait_list;
376 pwsi = &(*pwsi)->http.ah_wait_list;
386 wsi->http.ah = ah;
394 wsi->peer->http.count_ah++;
409 *pwsi_eligible = wsi->http.ah_wait_list;
411 wsi->http.ah_wait_list = NULL;
412 pt->http.ah_wait_list_length--;
429 assert(!!pt->http.ah_wait_list_length ==
430 !!(lws_intptr_t)pt->http.ah_wait_list);
433 lws_wsi_tag(wsi), (void *)ah, pt->tid, pt->http.ah_count_in_use);
440 pt->http.ah_count_in_use--;
463 if (!wsi->http.ah)
466 n = wsi->http.ah->frag_index[h];
471 return wsi->http.ah->frags[n].len;
472 n = wsi->http.ah->frags[n].nfrag;
483 if (!wsi->http.ah)
486 n = wsi->http.ah->frag_index[h];
490 len += wsi->http.ah->frags[n].len;
491 n = wsi->http.ah->frags[n].nfrag;
507 if (!wsi->http.ah)
510 f = wsi->http.ah->frag_index[h];
516 f = wsi->http.ah->frags[f].nfrag;
522 if (wsi->http.ah->frags[f].len >= len)
525 memcpy(dst, wsi->http.ah->data + wsi->http.ah->frags[f].offset,
526 wsi->http.ah->frags[f].len);
527 dst[wsi->http.ah->frags[f].len] = '\0';
529 return wsi->http.ah->frags[f].len;
544 if (!wsi->http.ah)
547 n = wsi->http.ah->frag_index[h];
551 comma = (wsi->http.ah->frags[n].nfrag) ? 1 : 0;
555 __func__, (int)wsi->http.ah->frags[n].len,
556 &wsi->http.ah->data[
557 wsi->http.ah->frags[n].offset]);
559 if (wsi->http.ah->frags[n].len + comma >= len) {
563 strncpy(dst, &wsi->http.ah->data[wsi->http.ah->frags[n].offset],
564 wsi->http.ah->frags[n].len);
565 dst += wsi->http.ah->frags[n].len;
566 len -= wsi->http.ah->frags[n].len;
567 n = wsi->http.ah->frags[n].nfrag;
602 if (!wsi->http.ah || wsi->mux_substream)
605 ll = wsi->http.ah->unk_ll_head;
607 if (ll >= wsi->http.ah->data_length)
610 (uint8_t *)&wsi->http.ah->data[ll + UHO_NLEN]) &&
611 !strncmp(name, &wsi->http.ah->data[ll + UHO_NAME], (unsigned int)nlen))
613 (uint8_t *)&wsi->http.ah->data[ll + UHO_VLEN]);
615 ll = lws_ser_ru32be((uint8_t *)&wsi->http.ah->data[ll + UHO_LL]);
628 if (!wsi->http.ah || wsi->mux_substream)
633 ll = wsi->http.ah->unk_ll_head;
635 if (ll >= wsi->http.ah->data_length)
638 (uint8_t *)&wsi->http.ah->data[ll + UHO_NLEN]) &&
639 !strncmp(name, &wsi->http.ah->data[ll + UHO_NAME], (unsigned int)nlen)) {
641 (uint8_t *)&wsi->http.ah->data[ll + UHO_VLEN]);
644 strncpy(dst, &wsi->http.ah->data[ll + UHO_NAME + (unsigned int)nlen], (unsigned int)n);
649 ll = lws_ser_ru32be((uint8_t *)&wsi->http.ah->data[ll + UHO_LL]);
661 if (!wsi->http.ah || wsi->mux_substream)
664 ll = wsi->http.ah->unk_ll_head;
667 if (ll >= wsi->http.ah->data_length)
670 cb(&wsi->http.ah->data[ll + UHO_NAME],
671 lws_ser_ru16be((uint8_t *)&wsi->http.ah->data[ll + UHO_NLEN]),
674 ll = lws_ser_ru32be((uint8_t *)&wsi->http.ah->data[ll + UHO_LL]);
685 if (!wsi->http.ah)
688 n = wsi->http.ah->frag_index[h];
692 return wsi->http.ah->data + wsi->http.ah->frags[n].offset;
698 if (!wsi->http.ah)
701 if (wsi->http.ah->pos <
705 if ((int)wsi->http.ah->pos >= (int)wsi->a.context->max_http_header_data - 1) {
715 (unsigned long)wsi->http.ah->pos,
730 wsi->http.ah->frag_index[h] = 0;
735 wsi->http.ah->nfrag++;
736 if (wsi->http.ah->nfrag == LWS_ARRAY_SIZE(wsi->http.ah->frags)) {
741 wsi->http.ah->frag_index[h] = wsi->http.ah->nfrag;
743 wsi->http.ah->frags[wsi->http.ah->nfrag].offset = wsi->http.ah->pos;
744 wsi->http.ah->frags[wsi->http.ah->nfrag].len = 0;
745 wsi->http.ah->frags[wsi->http.ah->nfrag].nfrag = 0;
751 wsi->http.ah->data[wsi->http.ah->pos++] = *s;
753 wsi->http.ah->frags[wsi->http.ah->nfrag].len++;
767 frag_len = wsi->http.ah->frags[wsi->http.ah->nfrag].len;
772 if (!wsi->http.ah->current_token_limit ||
773 frag_len < wsi->http.ah->current_token_limit) {
774 wsi->http.ah->data[wsi->http.ah->pos++] = (char)c;
775 wsi->http.ah->frags[wsi->http.ah->nfrag].len++;
780 if (frag_len == wsi->http.ah->current_token_limit) {
784 wsi->http.ah->data[wsi->http.ah->pos++] = '\0';
786 (long)wsi->http.ah->parser_state,
787 (long)wsi->http.ah->current_token_limit);
796 struct allocated_headers *ah = wsi->http.ah;
866 wsi->http.ah->frags[wsi->http.ah->nfrag].len--;
972 wsi->http.ah->frags[wsi->http.ah->nfrag].len--;
1020 struct allocated_headers *ah = wsi->http.ah;
1026 assert(wsi->http.ah);
1106 wsi->http.ah->frags[wsi->http.ah->nfrag].len--;
1157 wsi->http.ah->frags[wsi->http.ah->nfrag].len--;
1350 * ...it's an unknown http method from a client
1351 * in fact, it cannot be valid http.
1358 lwsl_notice("%s: http fail fallback\n",
1559 int f = wsi->http.ah->frag_index[WSI_TOKEN_HTTP_COOKIE];
1563 p = wsi->http.ah->data + wsi->http.ah->frags[f].offset;
1564 fl = (size_t)wsi->http.ah->frags[f].len;
1578 f = wsi->http.ah->frags[f].nfrag;