1743Smax.romanov@nginx.com 2743Smax.romanov@nginx.com /* 3743Smax.romanov@nginx.com * Copyright (C) NGINX, Inc. 4743Smax.romanov@nginx.com */ 5743Smax.romanov@nginx.com 6743Smax.romanov@nginx.com #ifndef _NXT_UNIT_REQUEST_H_INCLUDED_ 7743Smax.romanov@nginx.com #define _NXT_UNIT_REQUEST_H_INCLUDED_ 8743Smax.romanov@nginx.com 9743Smax.romanov@nginx.com 10743Smax.romanov@nginx.com #include <inttypes.h> 11743Smax.romanov@nginx.com 12743Smax.romanov@nginx.com #include "nxt_unit_sptr.h" 13743Smax.romanov@nginx.com #include "nxt_unit_field.h" 14743Smax.romanov@nginx.com 15743Smax.romanov@nginx.com #define NXT_UNIT_NONE_FIELD 0xFFFFFFFFU 16743Smax.romanov@nginx.com 17743Smax.romanov@nginx.com struct nxt_unit_request_s { 18743Smax.romanov@nginx.com uint8_t method_length; 19743Smax.romanov@nginx.com uint8_t version_length; 20743Smax.romanov@nginx.com uint8_t remote_length; 21743Smax.romanov@nginx.com uint8_t local_length; 221011Smax.romanov@nginx.com uint8_t tls; 231131Smax.romanov@nginx.com uint8_t websocket_handshake; 241473Svbart@nginx.com uint8_t app_target; 25967Svbart@nginx.com uint32_t server_name_length; 26743Smax.romanov@nginx.com uint32_t target_length; 27743Smax.romanov@nginx.com uint32_t path_length; 28743Smax.romanov@nginx.com uint32_t query_length; 29743Smax.romanov@nginx.com uint32_t fields_count; 30743Smax.romanov@nginx.com 31743Smax.romanov@nginx.com uint32_t content_length_field; 32743Smax.romanov@nginx.com uint32_t content_type_field; 33743Smax.romanov@nginx.com uint32_t cookie_field; 34*1733Svbart@nginx.com uint32_t authorization_field; 35743Smax.romanov@nginx.com 36743Smax.romanov@nginx.com uint64_t content_length; 37743Smax.romanov@nginx.com 38743Smax.romanov@nginx.com nxt_unit_sptr_t method; 39743Smax.romanov@nginx.com nxt_unit_sptr_t version; 40743Smax.romanov@nginx.com nxt_unit_sptr_t remote; 41743Smax.romanov@nginx.com nxt_unit_sptr_t local; 42967Svbart@nginx.com nxt_unit_sptr_t server_name; 43743Smax.romanov@nginx.com nxt_unit_sptr_t target; 44743Smax.romanov@nginx.com nxt_unit_sptr_t path; 45743Smax.romanov@nginx.com nxt_unit_sptr_t query; 46743Smax.romanov@nginx.com nxt_unit_sptr_t preread_content; 47743Smax.romanov@nginx.com 48743Smax.romanov@nginx.com nxt_unit_field_t fields[]; 49743Smax.romanov@nginx.com }; 50743Smax.romanov@nginx.com 51743Smax.romanov@nginx.com 52743Smax.romanov@nginx.com #endif /* _NXT_UNIT_REQUEST_H_INCLUDED_ */ 53743Smax.romanov@nginx.com 54