mirror of
https://github.com/owntone/owntone-server.git
synced 2025-04-14 00:10:10 -04:00
Wire up RSP support
This commit is contained in:
parent
718631bab5
commit
5e8275a998
25
src/httpd.c
25
src/httpd.c
@ -36,6 +36,7 @@
|
|||||||
#include "err.h"
|
#include "err.h"
|
||||||
#include "conffile.h"
|
#include "conffile.h"
|
||||||
#include "httpd.h"
|
#include "httpd.h"
|
||||||
|
#include "httpd_rsp.h"
|
||||||
|
|
||||||
|
|
||||||
#define WEBFACE_ROOT "/usr/share/mt-daapd/admin-root/"
|
#define WEBFACE_ROOT "/usr/share/mt-daapd/admin-root/"
|
||||||
@ -265,6 +266,16 @@ webface_cb(struct evhttp_request *req, void *arg)
|
|||||||
uri = evhttp_decode_uri(uri);
|
uri = evhttp_decode_uri(uri);
|
||||||
free(ptr);
|
free(ptr);
|
||||||
|
|
||||||
|
/* Dispatch protocol-specific URIs */
|
||||||
|
if (rsp_is_request(req, uri))
|
||||||
|
{
|
||||||
|
rsp_request(req);
|
||||||
|
|
||||||
|
free(uri);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Serve web interface files */
|
||||||
serve_file(req, uri);
|
serve_file(req, uri);
|
||||||
|
|
||||||
free(uri);
|
free(uri);
|
||||||
@ -301,12 +312,20 @@ httpd_init(void)
|
|||||||
|
|
||||||
httpd_exit = 0;
|
httpd_exit = 0;
|
||||||
|
|
||||||
|
ret = rsp_init();
|
||||||
|
if (ret < 0)
|
||||||
|
{
|
||||||
|
DPRINTF(E_FATAL, L_HTTPD, "RSP protocol init failed\n");
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
ret = pipe2(exit_pipe, O_CLOEXEC);
|
ret = pipe2(exit_pipe, O_CLOEXEC);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
DPRINTF(E_FATAL, L_HTTPD, "Could not create pipe: %s\n", strerror(errno));
|
DPRINTF(E_FATAL, L_HTTPD, "Could not create pipe: %s\n", strerror(errno));
|
||||||
|
|
||||||
return -1;
|
goto pipe_fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
evbase_httpd = event_base_new();
|
evbase_httpd = event_base_new();
|
||||||
@ -367,6 +386,8 @@ httpd_init(void)
|
|||||||
evbase_fail:
|
evbase_fail:
|
||||||
close(exit_pipe[0]);
|
close(exit_pipe[0]);
|
||||||
close(exit_pipe[1]);
|
close(exit_pipe[1]);
|
||||||
|
pipe_fail:
|
||||||
|
rsp_deinit();
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -394,6 +415,8 @@ httpd_deinit(void)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rsp_deinit();
|
||||||
|
|
||||||
close(exit_pipe[0]);
|
close(exit_pipe[0]);
|
||||||
close(exit_pipe[1]);
|
close(exit_pipe[1]);
|
||||||
evhttp_free(evhttpd);
|
evhttp_free(evhttpd);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user