40 lines
1.2 KiB
Plaintext
40 lines
1.2 KiB
Plaintext
+================+
|
|
| tinyparser |
|
|
+================+
|
|
|
|
HTTP parsing prototype and algorithm development
|
|
environment for tinyproxy - my new proxy.
|
|
|
|
RES: github.com/tinyproxy/tinyproxy
|
|
RES: github.com/nginx/nginx
|
|
|
|
TECHNICALS
|
|
|
|
int initres(void);
|
|
void fretres(void);
|
|
int readlin(char **buff, char **buff_lim);
|
|
int parshfield(char **offset, int len, /* out */ struct point *hentries);
|
|
int parstitle(char *offset, int len, /* out */ struct httitle *titl);
|
|
int parsme(char **buff, /* out */ struct httpars *pars);
|
|
|
|
Library is designed to follow source input unaltering.
|
|
Which means, that it does not directly alter the input
|
|
data or strings while storing the information of all
|
|
parsed results on the stack or as pointers to specific
|
|
parts of the source data. This allows to provide it
|
|
with input that resides both within the stack or heap.
|
|
|
|
LEAKS
|
|
|
|
LEAKS file contains the most recent valgrind memory leaks
|
|
dump ran on main.c
|
|
|
|
LEAKS.TEST.[id] files respectively contain the most recent
|
|
valgrind memory leaks dump ran on a test with an id=[id]
|
|
|
|
TODO
|
|
|
|
* implement tests
|
|
* integrations with tinyproxy..?
|
|
|