1 2 /* 3 * Copyright (C) NGINX, Inc. 4 */ 5 6 #ifndef _NXT_UNIT_REQUEST_H_INCLUDED_ 7 #define _NXT_UNIT_REQUEST_H_INCLUDED_ 8 9 10 #include <inttypes.h> 11 12 #include "nxt_unit_sptr.h" 13 #include "nxt_unit_field.h" 14 15 #define NXT_UNIT_NONE_FIELD 0xFFFFFFFFU 16 17 struct nxt_unit_request_s { 18 uint8_t method_length; 19 uint8_t version_length; 20 uint8_t remote_length; 21 uint8_t local_length; 22 uint32_t target_length; 23 uint32_t path_length; 24 uint32_t query_length; 25 uint32_t fields_count; 26 27 uint32_t host_field; 28 uint32_t content_length_field; 29 uint32_t content_type_field; 30 uint32_t cookie_field; 31 32 uint64_t content_length; 33 34 nxt_unit_sptr_t method; 35 nxt_unit_sptr_t version; 36 nxt_unit_sptr_t remote; 37 nxt_unit_sptr_t local; 38 nxt_unit_sptr_t target; 39 nxt_unit_sptr_t path; 40 nxt_unit_sptr_t query; 41 nxt_unit_sptr_t preread_content; 42 43 nxt_unit_field_t fields[]; 44 }; 45 46 47 #endif /* _NXT_UNIT_REQUEST_H_INCLUDED_ */ 48 49