Tilde Friends
Loading...
Searching...
No Matches
httpd.js.h
1#pragma once
2
11#include <stdbool.h>
12#include <stddef.h>
13#include <stdint.h>
14
15#include "quickjs.h"
16
17static const int64_t k_httpd_auth_refresh_interval = 1ULL * 7 * 24 * 60 * 60 * 1000;
18
20typedef struct JSContext JSContext;
21
25typedef struct _tf_http_t tf_http_t;
26
31
35typedef struct _tf_ssb_t tf_ssb_t;
36
41{
43 const char* user;
45 const char* app;
47
53
59
66const char* tf_httpd_ext_to_content_type(const char* ext, bool use_fallback);
67
74const char* tf_httpd_magic_bytes_to_content_type(const uint8_t* bytes, size_t size);
75
82tf_httpd_user_app_t* tf_httpd_parse_user_app_from_path(const char* path, const char* expected_suffix);
83
90const char** tf_httpd_form_data_decode(const char* data, int length);
91
98const char* tf_httpd_form_data_get(const char** form_data, const char* key);
99
107JSValue tf_httpd_authenticate_jwt(tf_ssb_t* ssb, JSContext* context, const char* jwt);
108
114bool tf_httpd_is_name_valid(const char* name);
115
122const char* tf_httpd_make_set_session_cookie_header(tf_http_request_t* request, const char* session_cookie);
123
131const char* tf_httpd_make_session_jwt(JSContext* context, tf_ssb_t* ssb, const char* name);
132
138
144
150
156
162
168
174
180
186
192
struct JSContext JSContext
Definition api.js.h:10
struct _tf_http_t tf_http_t
Definition http.h:24
void tf_httpd_endpoint_view(tf_http_request_t *request)
JSValue tf_httpd_authenticate_jwt(tf_ssb_t *ssb, JSContext *context, const char *jwt)
void tf_httpd_endpoint_static(tf_http_request_t *request)
void tf_httpd_endpoint_app(tf_http_request_t *request)
const char * tf_httpd_ext_to_content_type(const char *ext, bool use_fallback)
void tf_httpd_endpoint_logout(tf_http_request_t *request)
const char * tf_httpd_make_set_session_cookie_header(tf_http_request_t *request, const char *session_cookie)
const char * tf_httpd_form_data_get(const char **form_data, const char *key)
void tf_httpd_endpoint_save(tf_http_request_t *request)
struct _tf_httpd_user_app_t tf_httpd_user_app_t
void tf_httpd_destroy(tf_http_t *http)
void tf_httpd_endpoint_app_index(tf_http_request_t *request)
const char ** tf_httpd_form_data_decode(const char *data, int length)
struct _tf_ssb_t tf_ssb_t
Definition httpd.js.h:35
void tf_httpd_endpoint_login_auto(tf_http_request_t *request)
const char * tf_httpd_magic_bytes_to_content_type(const uint8_t *bytes, size_t size)
tf_http_t * tf_httpd_create(JSContext *context)
void tf_httpd_endpoint_login(tf_http_request_t *request)
const char * tf_httpd_make_session_jwt(JSContext *context, tf_ssb_t *ssb, const char *name)
tf_httpd_user_app_t * tf_httpd_parse_user_app_from_path(const char *path, const char *expected_suffix)
bool tf_httpd_is_name_valid(const char *name)
void tf_httpd_endpoint_app_socket(tf_http_request_t *request)
void tf_httpd_endpoint_delete(tf_http_request_t *request)
Definition http.h:63
Definition httpd.js.h:41
const char * user
Definition httpd.js.h:43
const char * app
Definition httpd.js.h:45