Bump llhttp to 836430e892862ed6462f6197417eba8e17378956
This commit is contained in:
parent
385abf10f7
commit
b5d74d7c9d
|
@ -90,7 +90,16 @@ if (err == HPE_OK) {
|
||||||
parser.reason);
|
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]
|
* Python: [pallas/pyllhttp][8]
|
||||||
* Ruby: [metabahn/llhttp][9]
|
* 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
|
#### LICENSE
|
||||||
|
|
||||||
This software is licensed under the MIT License.
|
This software is licensed under the MIT License.
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
#define LLHTTP_VERSION_MAJOR 6
|
#define LLHTTP_VERSION_MAJOR 6
|
||||||
#define LLHTTP_VERSION_MINOR 0
|
#define LLHTTP_VERSION_MINOR 0
|
||||||
#define LLHTTP_VERSION_PATCH 2
|
#define LLHTTP_VERSION_PATCH 6
|
||||||
|
|
||||||
#ifndef LLHTTP_STRICT_MODE
|
#ifndef LLHTTP_STRICT_MODE
|
||||||
# define LLHTTP_STRICT_MODE 0
|
# define LLHTTP_STRICT_MODE 0
|
||||||
|
@ -374,8 +374,6 @@ LLHTTP_EXPORT
|
||||||
void llhttp_init(llhttp_t* parser, llhttp_type_t type,
|
void llhttp_init(llhttp_t* parser, llhttp_type_t type,
|
||||||
const llhttp_settings_t* settings);
|
const llhttp_settings_t* settings);
|
||||||
|
|
||||||
#if defined(__wasm__)
|
|
||||||
|
|
||||||
LLHTTP_EXPORT
|
LLHTTP_EXPORT
|
||||||
llhttp_t* llhttp_alloc(llhttp_type_t type);
|
llhttp_t* llhttp_alloc(llhttp_type_t type);
|
||||||
|
|
||||||
|
@ -400,8 +398,6 @@ int llhttp_get_status_code(llhttp_t* parser);
|
||||||
LLHTTP_EXPORT
|
LLHTTP_EXPORT
|
||||||
uint8_t llhttp_get_upgrade(llhttp_t* parser);
|
uint8_t llhttp_get_upgrade(llhttp_t* parser);
|
||||||
|
|
||||||
#endif // defined(__wasm__)
|
|
||||||
|
|
||||||
/* Reset an already initialized parser back to the start state, preserving the
|
/* Reset an already initialized parser back to the start state, preserving the
|
||||||
* existing parser type, callback settings, user data, and lenient flags.
|
* 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_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_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_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_body(llhttp_t* p, const char* at, size_t length);
|
||||||
extern int wasm_on_message_complete(llhttp_t * p);
|
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 = {
|
const llhttp_settings_t wasm_settings = {
|
||||||
wasm_on_message_begin,
|
wasm_on_message_begin,
|
||||||
wasm_on_url,
|
wasm_on_url,
|
||||||
wasm_on_status,
|
wasm_on_status,
|
||||||
wasm_on_header_field,
|
wasm_on_header_field,
|
||||||
wasm_on_header_value,
|
wasm_on_header_value,
|
||||||
wasm_on_headers_complete,
|
wasm_on_headers_complete_wrap,
|
||||||
wasm_on_body,
|
wasm_on_body,
|
||||||
wasm_on_message_complete,
|
wasm_on_message_complete,
|
||||||
NULL,
|
NULL,
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue