Subversion Repositories Tewi

Rev

Rev 32 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

/* $Id: tw_http.h 43 2024-09-18 09:19:03Z nishi $ */

#ifndef __TW_HTTP_H__
#define __TW_HTTP_H__

#include <stdbool.h>

#include "../config.h"

struct tw_http_request {
        char* method;
        char* path;
        char* query;
        char* version;
        char** headers;
        char* body;
};

struct tw_http_response {
        char** headers;
        int status;
        bool _processed; /* Internal parameter */
};

#ifdef SOURCE
#ifndef NO_SSL
#include <openssl/ssl.h>
#endif
void tw_free_request(struct tw_http_request* req);
#ifndef NO_SSL
int tw_http_parse(SSL* ssl, int sock, struct tw_http_request* req);
#else
int tw_http_parse(void* ssl, int sock, struct tw_http_request* req);
#endif
#endif

#endif