HTTP/s parse C library and algorithm development environment.
Go to file
2024-09-04 09:16:55 +02:00
streecmp@ca1293aa8f fix: remove cluttered state machine code 2024-09-03 21:07:52 +02:00
.gitignore feat: implement parsing of headers 2024-09-03 00:03:32 +02:00
.gitmodules feat: implement parsing of headers 2024-09-03 00:03:32 +02:00
Makefile fix: remove cluttered state machine code 2024-09-03 21:07:52 +02:00
README fix: correct docs 2024-09-04 09:16:55 +02:00
strings.c fix: remove cluttered state machine code 2024-09-03 21:07:52 +02:00
tinyparser.c fix: correct docs 2024-09-04 09:16:55 +02:00
tinyparser.h fix: edit docs and re-design struct use 2024-09-04 09:06:42 +02:00

+================+
|   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 suggests, that it does not directly alter the input
    data or strings while giving users the ability to 
    store the parsed information (struct httpars) either on 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..?