xref: /unit/src/nxt_unit_request.h (revision 1733:dab8544b5440)
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