chore(lnm): copied over http constants
All checks were successful
ci/woodpecker/push/build Pipeline was successful

This commit is contained in:
Jef Roosens 2023-11-22 13:17:46 +01:00
parent f79ba2818c
commit c7b3f68c2e
Signed by: Jef Roosens
GPG key ID: B75D4F293C7052DB
5 changed files with 211 additions and 3 deletions

View file

@ -0,0 +1,97 @@
#ifndef LNM_HTTP_CONSTS
#define LNM_HTTP_CONSTS
#include <stdlib.h>
extern const char *lnm_http_method_names[];
extern const size_t lnm_http_method_names_len;
typedef enum lnm_http_method {
http_method_get = 0,
http_method_post,
http_method_put,
http_method_patch,
http_method_delete
} http_method;
extern const char *lnm_http_status_names[][32];
typedef enum lnm_http_status {
// 1xx
lnm_http_status_continue = 100,
lnm_http_status_switching_protocols = 101,
lnm_http_status_processing = 102,
lnm_http_status_early_hints = 103,
// 2xx
lnm_http_status_ok = 200,
lnm_http_status_created = 201,
lnm_http_status_accepted = 202,
lnm_http_status_non_authoritative_information = 203,
lnm_http_status_no_content = 204,
lnm_http_status_reset_content = 205,
lnm_http_status_partial_content = 206,
lnm_http_status_multi_status = 207,
lnm_http_status_already_reported = 208,
// 3xx
lnm_http_status_multiple_choices = 300,
lnm_http_status_moved_permanently = 301,
lnm_http_status_found = 302,
lnm_http_status_see_other = 303,
lnm_http_status_not_modified = 304,
lnm_http_status_temporary_redirect = 307,
lnm_http_status_permanent_redirect = 308,
// 4xx
lnm_http_status_bad_request = 400,
lnm_http_status_unauthorized = 401,
lnm_http_status_payment_required = 402,
lnm_http_status_forbidden = 403,
lnm_http_status_not_found = 404,
lnm_http_status_method_not_allowed = 405,
lnm_http_status_not_acceptable = 406,
lnm_http_status_proxy_authentication_required = 407,
lnm_http_status_request_timeout = 408,
lnm_http_status_conflict = 409,
lnm_http_status_gone = 410,
lnm_http_status_length_required = 411,
lnm_http_status_precondition_failed = 412,
lnm_http_status_content_too_large = 413,
lnm_http_status_uri_too_long = 414,
lnm_http_status_unsupported_media_type = 415,
lnm_http_status_range_not_satisfiable = 416,
lnm_http_status_expection_failed = 417,
lnm_http_status_im_a_teapot = 418,
lnm_http_status_misdirected_request = 421,
lnm_http_status_unprocessable_content = 422,
lnm_http_status_locked = 423,
lnm_http_status_failed_dependency = 424,
lnm_http_status_too_early = 425,
lnm_http_status_upgrade_required = 426,
lnm_http_status_precondition_required = 428,
lnm_http_status_too_many_requests = 429,
lnm_http_status_request_header_fields_too_large = 431,
// 5xx
lnm_http_status_internal_server_error = 500,
lnm_http_status_method_not_implemented = 501,
lnm_http_status_bad_gateway = 502,
lnm_http_status_service_unavailable = 503,
lnm_http_status_gateway_timeout = 504,
lnm_http_status_http_status_version_not_supported = 505,
lnm_http_status_variant_also_negotiates = 506,
lnm_http_status_insufficient_storage = 507,
lnm_http_status_loop_detected = 508,
lnm_http_status_not_extended = 510,
lnm_http_status_network_authentication_required = 511
} lnm_http_status;
extern const char *lnm_http_header_names[];
typedef enum lnm_http_header {
lnm_http_header_connection = 0,
lnm_http_header_location,
lnm_http_header_content_type,
lnm_http_header_content_disposition,
lnm_http_header_server,
lnm_http_header_content_length
} lnm_http_header;
#endif

View file

@ -46,7 +46,9 @@ typedef struct {
lnm_err lnm_loop_init(lnm_loop **out, void *gctx,
lnm_err (*ctx_init)(void **out, void *gctx),
void (*ctx_free)(void *ctx));
void (*ctx_free)(void *ctx),
void (*data_read)(lnm_loop_conn *conn),
void (*data_write)(lnm_loop_conn *conn));
lnm_err lnm_loop_setup(lnm_loop *l, uint16_t port);