Lines Matching refs:parser
33 void llhttp_init(llhttp_t* parser, llhttp_type_t type,
35 llhttp__internal_init(parser);
37 parser->type = type;
38 parser->settings = (void*) settings;
74 llhttp_t* parser = malloc(sizeof(llhttp_t));
75 llhttp_init(parser, type, &wasm_settings);
76 return parser;
79 void llhttp_free(llhttp_t* parser) {
80 free(parser);
83 /* Some getters required to get stuff from the parser */
85 uint8_t llhttp_get_type(llhttp_t* parser) {
86 return parser->type;
89 uint8_t llhttp_get_http_major(llhttp_t* parser) {
90 return parser->http_major;
93 uint8_t llhttp_get_http_minor(llhttp_t* parser) {
94 return parser->http_minor;
97 uint8_t llhttp_get_method(llhttp_t* parser) {
98 return parser->method;
101 int llhttp_get_status_code(llhttp_t* parser) {
102 return parser->status_code;
105 uint8_t llhttp_get_upgrade(llhttp_t* parser) {
106 return parser->upgrade;
112 void llhttp_reset(llhttp_t* parser) {
113 llhttp_type_t type = parser->type;
114 const llhttp_settings_t* settings = parser->settings;
115 void* data = parser->data;
116 uint8_t lenient_flags = parser->lenient_flags;
118 llhttp__internal_init(parser);
120 parser->type = type;
121 parser->settings = (void*) settings;
122 parser->data = data;
123 parser->lenient_flags = lenient_flags;
127 llhttp_errno_t llhttp_execute(llhttp_t* parser, const char* data, size_t len) {
128 return llhttp__internal_execute(parser, data, data + len);
137 llhttp_errno_t llhttp_finish(llhttp_t* parser) {
141 if (parser->error != 0) {
145 switch (parser->finish) {
147 CALLBACK_MAYBE(parser, on_message_complete);
154 parser->reason = "Invalid EOF state";
162 void llhttp_pause(llhttp_t* parser) {
163 if (parser->error != HPE_OK) {
167 parser->error = HPE_PAUSED;
168 parser->reason = "Paused";
172 void llhttp_resume(llhttp_t* parser) {
173 if (parser->error != HPE_PAUSED) {
177 parser->error = 0;
181 void llhttp_resume_after_upgrade(llhttp_t* parser) {
182 if (parser->error != HPE_PAUSED_UPGRADE) {
186 parser->error = 0;
190 llhttp_errno_t llhttp_get_errno(const llhttp_t* parser) {
191 return parser->error;
195 const char* llhttp_get_error_reason(const llhttp_t* parser) {
196 return parser->reason;
200 void llhttp_set_error_reason(llhttp_t* parser, const char* reason) {
201 parser->reason = reason;
205 const char* llhttp_get_error_pos(const llhttp_t* parser) {
206 return parser->error_pos;
230 void llhttp_set_lenient_headers(llhttp_t* parser, int enabled) {
232 parser->lenient_flags |= LENIENT_HEADERS;
234 parser->lenient_flags &= ~LENIENT_HEADERS;
239 void llhttp_set_lenient_chunked_length(llhttp_t* parser, int enabled) {
241 parser->lenient_flags |= LENIENT_CHUNKED_LENGTH;
243 parser->lenient_flags &= ~LENIENT_CHUNKED_LENGTH;
248 void llhttp_set_lenient_keep_alive(llhttp_t* parser, int enabled) {
250 parser->lenient_flags |= LENIENT_KEEP_ALIVE;
252 parser->lenient_flags &= ~LENIENT_KEEP_ALIVE;
256 void llhttp_set_lenient_transfer_encoding(llhttp_t* parser, int enabled) {
258 parser->lenient_flags |= LENIENT_TRANSFER_ENCODING;
260 parser->lenient_flags &= ~LENIENT_TRANSFER_ENCODING;