Bump llhttp to 836430e892862ed6462f6197417eba8e17378956
This commit is contained in:
parent
385abf10f7
commit
b5d74d7c9d
|
@ -90,7 +90,16 @@ if (err == HPE_OK) {
|
|||
parser.reason);
|
||||
}
|
||||
```
|
||||
For more information on API usage, please refer to [src/native/api.h](https://github.com/nodejs/llhttp/blob/master/src/native/api.h).
|
||||
For more information on API usage, please refer to [src/native/api.h](https://github.com/nodejs/llhttp/blob/main/src/native/api.h).
|
||||
|
||||
## Build Instructions
|
||||
|
||||
Make sure you have [Node.js](https://nodejs.org/), npm and npx installed. Then under project directory run:
|
||||
|
||||
```sh
|
||||
npm install
|
||||
make
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
@ -99,6 +108,41 @@ For more information on API usage, please refer to [src/native/api.h](https://gi
|
|||
* Python: [pallas/pyllhttp][8]
|
||||
* Ruby: [metabahn/llhttp][9]
|
||||
|
||||
### Using with CMake
|
||||
|
||||
If you want to use this library in a CMake project you can use the snippet below.
|
||||
|
||||
```
|
||||
FetchContent_Declare(llhttp
|
||||
URL "https://github.com/nodejs/llhttp/releases/download/v6.0.5/llhttp-release-v6.0.5.tar.gz") # Using version 6.0.5
|
||||
|
||||
FetchContent_MakeAvailable(llhttp)
|
||||
|
||||
target_link_libraries(${EXAMPLE_PROJECT_NAME} ${PROJECT_LIBRARIES} llhttp ${PROJECT_NAME})
|
||||
```
|
||||
|
||||
## Building on Windows
|
||||
|
||||
### Installation
|
||||
|
||||
* `choco install git`
|
||||
* `choco install node`
|
||||
* `choco install llvm` (or install the `C++ Clang tools for Windows` optional package from the Visual Studio 2019 installer)
|
||||
* `choco install make` (or if you have MinGW, it comes bundled)
|
||||
|
||||
1. Ensure that `Clang` and `make` are in your system path.
|
||||
2. Using Git Bash, clone the repo to your preferred location.
|
||||
3. Cd into the cloned directory and run `npm install`
|
||||
5. Run `make`
|
||||
6. Your `repo/build` directory should now have `libllhttp.a` and `libllhttp.so` static and dynamic libraries.
|
||||
7. When building your executable, you can link to these libraries. Make sure to set the build folder as an include path when building so you can reference the declarations in `repo/build/llhttp.h`.
|
||||
|
||||
### A simple example on linking with the library:
|
||||
|
||||
Assuming you have an executable `main.cpp` in your current working directory, you would run: `clang++ -Os -g3 -Wall -Wextra -Wno-unused-parameter -I/path/to/llhttp/build main.cpp /path/to/llhttp/build/libllhttp.a -o main.exe`.
|
||||
|
||||
If you are getting `unresolved external symbol` linker errors you are likely attempting to build `llhttp.c` without linking it with object files from `api.c` and `http.c`.
|
||||
|
||||
#### LICENSE
|
||||
|
||||
This software is licensed under the MIT License.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
#define LLHTTP_VERSION_MAJOR 6
|
||||
#define LLHTTP_VERSION_MINOR 0
|
||||
#define LLHTTP_VERSION_PATCH 2
|
||||
#define LLHTTP_VERSION_PATCH 6
|
||||
|
||||
#ifndef LLHTTP_STRICT_MODE
|
||||
# define LLHTTP_STRICT_MODE 0
|
||||
|
@ -374,8 +374,6 @@ LLHTTP_EXPORT
|
|||
void llhttp_init(llhttp_t* parser, llhttp_type_t type,
|
||||
const llhttp_settings_t* settings);
|
||||
|
||||
#if defined(__wasm__)
|
||||
|
||||
LLHTTP_EXPORT
|
||||
llhttp_t* llhttp_alloc(llhttp_type_t type);
|
||||
|
||||
|
@ -400,8 +398,6 @@ int llhttp_get_status_code(llhttp_t* parser);
|
|||
LLHTTP_EXPORT
|
||||
uint8_t llhttp_get_upgrade(llhttp_t* parser);
|
||||
|
||||
#endif // defined(__wasm__)
|
||||
|
||||
/* Reset an already initialized parser back to the start state, preserving the
|
||||
* existing parser type, callback settings, user data, and lenient flags.
|
||||
*/
|
||||
|
|
|
@ -46,17 +46,23 @@ extern int wasm_on_url(llhttp_t* p, const char* at, size_t length);
|
|||
extern int wasm_on_status(llhttp_t* p, const char* at, size_t length);
|
||||
extern int wasm_on_header_field(llhttp_t* p, const char* at, size_t length);
|
||||
extern int wasm_on_header_value(llhttp_t* p, const char* at, size_t length);
|
||||
extern int wasm_on_headers_complete(llhttp_t * p);
|
||||
extern int wasm_on_headers_complete(llhttp_t * p, int status_code,
|
||||
uint8_t upgrade, int should_keep_alive);
|
||||
extern int wasm_on_body(llhttp_t* p, const char* at, size_t length);
|
||||
extern int wasm_on_message_complete(llhttp_t * p);
|
||||
|
||||
static int wasm_on_headers_complete_wrap(llhttp_t* p) {
|
||||
return wasm_on_headers_complete(p, p->status_code, p->upgrade,
|
||||
llhttp_should_keep_alive(p));
|
||||
}
|
||||
|
||||
const llhttp_settings_t wasm_settings = {
|
||||
wasm_on_message_begin,
|
||||
wasm_on_url,
|
||||
wasm_on_status,
|
||||
wasm_on_header_field,
|
||||
wasm_on_header_value,
|
||||
wasm_on_headers_complete,
|
||||
wasm_on_headers_complete_wrap,
|
||||
wasm_on_body,
|
||||
wasm_on_message_complete,
|
||||
NULL,
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue