myMPD
Internal API documentation
Loading...
Searching...
No Matches
proxy.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_PROXY_H
12#define MYMPD_WEB_SERVER_PROXY_H
13
14#include "dist/mongoose/mongoose.h"
15#include "dist/sds/sds.h"
16#include "src/lib/api.h"
17
18#include <stdbool.h>
19
24 struct mg_connection *frontend_nc;
25 sds uri;
27};
28
29bool is_allowed_proxy_uri(const char *uri);
30void send_backend_request(struct mg_connection *nc);
31void handle_backend_close(struct mg_connection *nc);
33struct mg_connection *create_backend_connection(struct mg_connection *nc, struct mg_connection *backend_nc,
34 sds uri, mg_event_handler_t fn, bool stream);
35void forward_backend_to_frontend_stream(struct mg_connection *nc, int ev, void *ev_data);
36void forward_backend_to_frontend_covercache(struct mg_connection *nc, int ev, void *ev_data);
37#endif
myMPD API handling
mympd_cmd_ids
Definition api.h:261
void forward_backend_to_frontend_covercache(struct mg_connection *nc, int ev, void *ev_data)
Definition proxy.c:204
bool is_allowed_proxy_uri(const char *uri)
Definition proxy.c:45
void send_backend_request(struct mg_connection *nc)
Definition proxy.c:92
void handle_backend_close(struct mg_connection *nc)
Definition proxy.c:71
void free_backend_nc_data(struct t_backend_nc_data *data)
Definition proxy.c:62
void forward_backend_to_frontend_stream(struct mg_connection *nc, int ev, void *ev_data)
Definition proxy.c:174
struct mg_connection * create_backend_connection(struct mg_connection *nc, struct mg_connection *backend_nc, sds uri, mg_event_handler_t fn, bool stream)
Definition proxy.c:126
Definition proxy.h:23
enum mympd_cmd_ids cmd_id
jsonrpc method of the frontend connection
Definition proxy.h:26
sds uri
uri to connect the backend connection
Definition proxy.h:25
struct mg_connection * frontend_nc
pointer to frontend connection
Definition proxy.h:24