myMPD
Internal API documentation
Loading...
Searching...
No Matches
utility.h
Go to the documentation of this file.
1/*
2 SPDX-License-Identifier: GPL-3.0-or-later
3 myMPD (c) 2018-2025 Juergen Mang <mail@jcgames.de>
4 https://github.com/jcorporation/mympd
5*/
6
11#ifndef MYMPD_WEB_SERVER_UTILITY_H
12#define MYMPD_WEB_SERVER_UTILITY_H
13
14#include "dist/mongoose/mongoose.h"
15#include "dist/sds/sds.h"
16#include "src/lib/list.h"
18
19#include <stdbool.h>
20
25 struct mg_connection *backend_nc;
26 //for websocket connections only
28 unsigned id;
29 time_t last_ws_ping;
30};
31
32#ifdef MYMPD_EMBEDDED_ASSETS
33bool webserver_serve_embedded_files(struct mg_connection *nc, sds uri);
34#endif
35sds get_uri_param(struct mg_str *query, const char *name);
36sds print_ip(sds s, struct mg_addr *addr);
37bool get_partition_from_uri(struct mg_connection *nc, struct mg_http_message *hm, struct t_frontend_nc_data *frontend_nc_data);
38bool check_imagescache(struct mg_connection *nc, struct mg_http_message *hm,
39 struct t_mg_user_data *mg_user_data, const char *type, sds uri_decoded, int offset);
40sds webserver_find_image_file(sds basefilename);
41bool find_image_in_folder(sds *coverfile, sds music_directory, sds path, sds *names, int names_len);
42void webserver_send_error(struct mg_connection *nc, int code, const char *msg);
43void webserver_serve_file(struct mg_connection *nc, struct mg_http_message *hm,
44 const char *headers, const char *file);
45void webserver_send_header_ok(struct mg_connection *nc, size_t len, const char *headers);
46void webserver_send_header_redirect(struct mg_connection *nc, const char *location, const char *headers);
47void webserver_send_header_found(struct mg_connection *nc, const char *location, const char *headers);
48void webserver_send_cors_reply(struct mg_connection *nc);
49void webserver_send_data(struct mg_connection *nc, const char *data, size_t len, const char *headers);
50void webserver_send_raw(struct mg_connection *nc, const char *data, size_t len);
51void webserver_handle_connection_close(struct mg_connection *nc);
52struct t_list *webserver_parse_arguments(struct mg_http_message *hm);
53
54#endif
Linked list implementation.
Webserver utility functions.
Definition utility.h:24
unsigned id
jsonrpc id (client id)
Definition utility.h:28
sds partition
partition
Definition utility.h:27
time_t last_ws_ping
last websocket ping from client
Definition utility.h:29
struct mg_connection * backend_nc
pointer to backend connection
Definition utility.h:25
Definition list.h:32
Definition mg_user_data.h:24
sds get_uri_param(struct mg_str *query, const char *name)
Definition utility.c:86
void webserver_send_header_found(struct mg_connection *nc, const char *location, const char *headers)
Definition utility.c:321
void webserver_send_header_ok(struct mg_connection *nc, size_t len, const char *headers)
Definition utility.c:244
void webserver_send_raw(struct mg_connection *nc, const char *data, size_t len)
Definition utility.c:271
void webserver_send_header_redirect(struct mg_connection *nc, const char *location, const char *headers)
Definition utility.c:301
void webserver_send_cors_reply(struct mg_connection *nc)
Definition utility.c:338
bool find_image_in_folder(sds *coverfile, sds music_directory, sds path, sds *names, int names_len)
Definition utility.c:195
void webserver_send_data(struct mg_connection *nc, const char *data, size_t len, const char *headers)
Definition utility.c:258
bool get_partition_from_uri(struct mg_connection *nc, struct mg_http_message *hm, struct t_frontend_nc_data *frontend_nc_data)
Definition utility.c:109
bool check_imagescache(struct mg_connection *nc, struct mg_http_message *hm, struct t_mg_user_data *mg_user_data, const char *type, sds uri_decoded, int offset)
Definition utility.c:134
void webserver_send_error(struct mg_connection *nc, int code, const char *msg)
Definition utility.c:218
sds print_ip(sds s, struct mg_addr *addr)
Definition utility.c:66
struct t_list * webserver_parse_arguments(struct mg_http_message *hm)
Definition utility.c:36
sds webserver_find_image_file(sds basefilename)
Definition utility.c:164
void webserver_handle_connection_close(struct mg_connection *nc)
Definition utility.c:355
void webserver_serve_file(struct mg_connection *nc, struct mg_http_message *hm, const char *headers, const char *file)
Definition utility.c:284