Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
cparser.pxd168 linesDownload Raw Back to parser
1from libc.stdint cimport int32_t, uint8_t, uint16_t, uint64_t
2
3
4cdef extern from "llhttp.h":
5    struct llhttp__internal_s:
6        int32_t _index
7        void *_span_pos0
8        void *_span_cb0
9        int32_t error
10        const char *reason
11        const char *error_pos
12        void *data
13        void *_current
14        uint64_t content_length
15        uint8_t type
16        uint8_t method
17        uint8_t http_major
18        uint8_t http_minor
19        uint8_t header_state
20        uint16_t flags
21        uint8_t upgrade
22        uint16_t status_code
23        uint8_t finish
24        void *settings
25    ctypedef llhttp__internal_s llhttp__internal_t
26    ctypedef llhttp__internal_t llhttp_t
27
28    ctypedef int (*llhttp_data_cb) (llhttp_t*,
29                                  const char *at,
30                                  size_t length) except -1
31
32    ctypedef int (*llhttp_cb) (llhttp_t*) except -1
33
34    struct llhttp_settings_s:
35        llhttp_cb      on_message_begin
36        llhttp_data_cb on_url
37        llhttp_data_cb on_status
38        llhttp_data_cb on_header_field
39        llhttp_data_cb on_header_value
40        llhttp_cb      on_headers_complete
41        llhttp_data_cb on_body
42        llhttp_cb      on_message_complete
43        llhttp_cb      on_chunk_header
44        llhttp_cb      on_chunk_complete
45    ctypedef llhttp_settings_s llhttp_settings_t
46
47    enum llhttp_type:
48        HTTP_BOTH,
49        HTTP_REQUEST,
50        HTTP_RESPONSE
51    ctypedef llhttp_type llhttp_type_t
52
53    enum llhttp_errno:
54        HPE_OK,
55        HPE_INTERNAL,
56        HPE_STRICT,
57        HPE_LF_EXPECTED,
58        HPE_UNEXPECTED_CONTENT_LENGTH,
59        HPE_CLOSED_CONNECTION,
60        HPE_INVALID_METHOD,
61        HPE_INVALID_URL,
62        HPE_INVALID_CONSTANT,
63        HPE_INVALID_VERSION,
64        HPE_INVALID_HEADER_TOKEN,
65        HPE_INVALID_CONTENT_LENGTH,
66        HPE_INVALID_CHUNK_SIZE,
67        HPE_INVALID_STATUS,
68        HPE_INVALID_EOF_STATE,
69        HPE_INVALID_TRANSFER_ENCODING,
70        HPE_CB_MESSAGE_BEGIN,
71        HPE_CB_HEADERS_COMPLETE,
72        HPE_CB_MESSAGE_COMPLETE,
73        HPE_CB_CHUNK_HEADER,
74        HPE_CB_CHUNK_COMPLETE,
75        HPE_PAUSED,
76        HPE_PAUSED_UPGRADE,
77        HPE_USER
78    ctypedef llhttp_errno llhttp_errno_t
79
80    enum llhttp_flags:
81        F_CONNECTION_KEEP_ALIVE,
82        F_CONNECTION_CLOSE,
83        F_CONNECTION_UPGRADE,
84        F_CHUNKED,
85        F_UPGRADE,
86        F_CONTENT_LENGTH,
87        F_SKIPBODY,
88        F_TRAILING,
89        F_LENIENT,
90        F_TRANSFER_ENCODING
91    ctypedef llhttp_flags llhttp_flags_t
92
93    enum llhttp_method:
94        HTTP_DELETE,
95        HTTP_GET,
96        HTTP_HEAD,
97        HTTP_POST,
98        HTTP_PUT,
99        HTTP_CONNECT,
100        HTTP_OPTIONS,
101        HTTP_TRACE,
102        HTTP_COPY,
103        HTTP_LOCK,
104        HTTP_MKCOL,
105        HTTP_MOVE,
106        HTTP_PROPFIND,
107        HTTP_PROPPATCH,
108        HTTP_SEARCH,
109        HTTP_UNLOCK,
110        HTTP_BIND,
111        HTTP_REBIND,
112        HTTP_UNBIND,
113        HTTP_ACL,
114        HTTP_REPORT,
115        HTTP_MKACTIVITY,
116        HTTP_CHECKOUT,
117        HTTP_MERGE,
118        HTTP_MSEARCH,
119        HTTP_NOTIFY,
120        HTTP_SUBSCRIBE,
121        HTTP_UNSUBSCRIBE,
122        HTTP_PATCH,
123        HTTP_PURGE,
124        HTTP_MKCALENDAR,
125        HTTP_LINK,
126        HTTP_UNLINK,
127        HTTP_SOURCE,
128        HTTP_PRI,
129        HTTP_DESCRIBE,
130        HTTP_ANNOUNCE,
131        HTTP_SETUP,
132        HTTP_PLAY,
133        HTTP_PAUSE,
134        HTTP_TEARDOWN,
135        HTTP_GET_PARAMETER,
136        HTTP_SET_PARAMETER,
137        HTTP_REDIRECT,
138        HTTP_RECORD,
139        HTTP_FLUSH
140    ctypedef llhttp_method llhttp_method_t
141
142    void llhttp_init(llhttp_t* parser, llhttp_type_t type, const llhttp_settings_t* settings)
143
144    void llhttp_settings_init(llhttp_settings_t* settings)
145
146    llhttp_errno_t llhttp_execute(llhttp_t* parser, const char* data, size_t len)
147
148    void llhttp_resume_after_upgrade(llhttp_t* parser)
149
150    int llhttp_should_keep_alive(const llhttp_t* parser)
151
152    const char* llhttp_get_error_pos(const llhttp_t* parser)
153    const char* llhttp_get_error_reason(const llhttp_t* parser)
154    const char* llhttp_method_name(llhttp_method_t method)
155
156    void llhttp_set_error_reason(llhttp_t* parser, const char* reason);
157
158    void llhttp_set_lenient_headers(llhttp_t* parser, bint enabled);
159    void llhttp_set_lenient_chunked_length(llhttp_t* parser, bint enabled);
160    void llhttp_set_lenient_keep_alive(llhttp_t* parser, bint enabled);
161    void llhttp_set_lenient_transfer_encoding(llhttp_t* parser, bint enabled);
162    void llhttp_set_lenient_version(llhttp_t* parser, bint enabled);
163    void llhttp_set_lenient_data_after_close(llhttp_t* parser, bint enabled);
164    void llhttp_set_lenient_optional_lf_after_cr(llhttp_t* parser, bint enabled);
165    void llhttp_set_lenient_optional_cr_before_lf(llhttp_t* parser, bint enabled);
166    void llhttp_set_lenient_optional_crlf_after_chunk(llhttp_t* parser, bint enabled);
167    void llhttp_set_lenient_spaces_after_chunk_size(llhttp_t* parser, bint enabled);
168 
codekingpro/portable-devtools · Team Ai