Comments (6)
Hello @Onepamopa !
First of all, (as a shameless plug) I'd recommend moving to https://github.com/nodejs/llhttp instead of http_parser. As stated in readme this project is not actively maintained.
You can pickup the latest release, and init the parser with the settings object that has following callbacks:
on_header_field
on_header_value
on_headers_complete
The idea is to track what header fields you get and record their respective values. on_headers_complete
marks the end of the http request and the start of the request's data. You can check the recorded header fields at this point to see if certain header is present.
Hope this helps,
Fedor.
from http-parser.
That's what I don't get - the parser uses user-defined callbacks, which should contain what, exactly?
If I want to extract a value of a header - I should do that where, and ... how ?
from http-parser.
That's what I don't get - the parser uses user-defined callbacks, which should contain what, exactly?
The code for handling appropriate events.
If I want to extract a value of a header - I should do that where, and ... how ?
In the on_header_field
and on_header_value
callbacks. You can just do strncmp
on the field, and then take the value from the next on_header_value
call.
from http-parser.
Are there any examples of that ?
from http-parser.
Have you seen a short setup in llhttp's README?
from http-parser.
@indutny I have seen the short setup, I haven't seen example callback functions extracting url, http method, headers, etc.
from http-parser.
Related Issues (20)
- After upgrade it stoped working HOT 10
- Handle URLs with a colon after host but no port HOT 8
- 2.9.3 breaks ABI compatibility with 2.9.2 with no corresponding SONAME change HOT 6
- An http-parser update broke etherpad HOT 4
- Suggestion for making F_SKIPBODY more useful
- armv7hl: Assertion `sizeof(http_parser) == 4 + 4 + 8 + 2 + 2 + 4 + sizeof(void *)' failed HOT 5
- Documentation update request: (0 if no Content-Length header) is incorrect HOT 2
- Fix -Wsign-compare warning
- Chunked may not be final in transfer encoding list HOT 8
- Request with Transfer-Encoding: chunked and Content-Length is valid per RFC, but rejected with HPE_UNEXPECTED_CONTENT_LENGTH HOT 18
- Parse Error: Invalid header value char HOT 2
- Maintainer notice
- Have "Invalid header value char" error message more explicit HOT 1
- Test for the size of struct http_parser fails on 32 bit systems where there is padding/alignment for void* HOT 6
- libhttp-parser-ext.bundle, 5): no suitable image found HOT 4
- if I put two http request buf, function http_context_parser will crash,why???
- Rename primary branch to main HOT 2
- Incremental builds with no changes still trigger refactoring
- https://github.com/nodejs/help.wiki.git
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from http-parser.