Lines Matching refs:packet
2391 static int fastcgi_get_packet(server *srv, handler_ctx *hctx, fastcgi_response_packet *packet) { in fastcgi_get_packet() argument
2399 packet->b = buffer_init(); in fastcgi_get_packet()
2400 packet->len = 0; in fastcgi_get_packet()
2401 packet->type = 0; in fastcgi_get_packet()
2402 packet->padding = 0; in fastcgi_get_packet()
2403 packet->request_id = 0; in fastcgi_get_packet()
2412 if (packet->b->used == 0) { in fastcgi_get_packet()
2413 buffer_copy_string_len(packet->b, c->mem->ptr + c->offset, weHave); in fastcgi_get_packet()
2415 buffer_append_string_len(packet->b, c->mem->ptr + c->offset, weHave); in fastcgi_get_packet()
2423 if ((packet->b->used == 0) || in fastcgi_get_packet()
2424 (packet->b->used - 1 < sizeof(FCGI_Header))) { in fastcgi_get_packet()
2426 buffer_free(packet->b); in fastcgi_get_packet()
2429 …log_error_write(srv, __FILE__, __LINE__, "sdsds", "FastCGI: header too small:", packet->b->used, "… in fastcgi_get_packet()
2435 header = (FCGI_Header *)(packet->b->ptr); in fastcgi_get_packet()
2437 packet->len = (header->contentLengthB0 | (header->contentLengthB1 << 8)) + header->paddingLength; in fastcgi_get_packet()
2438 packet->request_id = (header->requestIdB0 | (header->requestIdB1 << 8)); in fastcgi_get_packet()
2439 packet->type = header->type; in fastcgi_get_packet()
2440 packet->padding = header->paddingLength; in fastcgi_get_packet()
2443 buffer_copy_string_len(packet->b, CONST_STR_LEN("")); /* used == 1 */ in fastcgi_get_packet()
2445 if (packet->len) { in fastcgi_get_packet()
2447 for (; c && (packet->b->used < packet->len + 1); c = c->next) { in fastcgi_get_packet()
2448 size_t weWant = packet->len - (packet->b->used - 1); in fastcgi_get_packet()
2453 buffer_append_string_len(packet->b, c->mem->ptr + c->offset + offset, weHave); in fastcgi_get_packet()
2459 if (packet->b->used < packet->len + 1) { in fastcgi_get_packet()
2462 buffer_free(packet->b); in fastcgi_get_packet()
2466 packet->b->used -= packet->padding; in fastcgi_get_packet()
2467 packet->b->ptr[packet->b->used - 1] = '\0'; in fastcgi_get_packet()
2471 toread = packet->len + sizeof(FCGI_Header); in fastcgi_get_packet()
2556 fastcgi_response_packet packet; in fcgi_demux_response() local
2559 if (0 != fastcgi_get_packet(srv, hctx, &packet)) { in fcgi_demux_response()
2564 switch(packet.type) { in fcgi_demux_response()
2566 if (packet.len == 0) break; in fcgi_demux_response()
2583 buffer_copy_string_buffer(hctx->response_header, packet.b); in fcgi_demux_response()
2585 buffer_append_string_buffer(hctx->response_header, packet.b); in fcgi_demux_response()
2662 } else if (hctx->send_content_body && packet.b->used > 1) { in fcgi_demux_response()
2669 http_chunk_append_mem(srv, con, packet.b->ptr, packet.b->used); in fcgi_demux_response()
2674 if (packet.len == 0) break; in fcgi_demux_response()
2677 "FastCGI-stderr:", packet.b); in fcgi_demux_response()
2695 "FastCGI: header.type not handled: ", packet.type); in fcgi_demux_response()
2698 buffer_free(packet.b); in fcgi_demux_response()