mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-15 00:34:05 +09:00
UxPlay 1.71: add support for HLS streaming video
This commit is contained in:
@@ -27,6 +27,7 @@ struct http_request_s {
|
||||
llhttp_t parser;
|
||||
llhttp_settings_t parser_settings;
|
||||
|
||||
bool is_reverse; // if true, this is a reverse-response from client
|
||||
const char *method;
|
||||
char *url;
|
||||
char protocol[9];
|
||||
@@ -160,7 +161,7 @@ http_request_init(void)
|
||||
|
||||
llhttp_init(&request->parser, HTTP_REQUEST, &request->parser_settings);
|
||||
request->parser.data = request;
|
||||
|
||||
request->is_reverse = false;
|
||||
return request;
|
||||
}
|
||||
|
||||
@@ -206,6 +207,9 @@ int
|
||||
http_request_has_error(http_request_t *request)
|
||||
{
|
||||
assert(request);
|
||||
if (request->is_reverse) {
|
||||
return 0;
|
||||
}
|
||||
return (llhttp_get_errno(&request->parser) != HPE_OK);
|
||||
}
|
||||
|
||||
@@ -213,6 +217,9 @@ const char *
|
||||
http_request_get_error_name(http_request_t *request)
|
||||
{
|
||||
assert(request);
|
||||
if (request->is_reverse) {
|
||||
return NULL;
|
||||
}
|
||||
return llhttp_errno_name(llhttp_get_errno(&request->parser));
|
||||
}
|
||||
|
||||
@@ -220,6 +227,9 @@ const char *
|
||||
http_request_get_error_description(http_request_t *request)
|
||||
{
|
||||
assert(request);
|
||||
if (request->is_reverse) {
|
||||
return NULL;
|
||||
}
|
||||
return llhttp_get_error_reason(&request->parser);
|
||||
}
|
||||
|
||||
@@ -227,6 +237,9 @@ const char *
|
||||
http_request_get_method(http_request_t *request)
|
||||
{
|
||||
assert(request);
|
||||
if (request->is_reverse) {
|
||||
return NULL;
|
||||
}
|
||||
return request->method;
|
||||
}
|
||||
|
||||
@@ -234,6 +247,9 @@ const char *
|
||||
http_request_get_url(http_request_t *request)
|
||||
{
|
||||
assert(request);
|
||||
if (request->is_reverse) {
|
||||
return NULL;
|
||||
}
|
||||
return request->url;
|
||||
}
|
||||
|
||||
@@ -241,6 +257,9 @@ const char *
|
||||
http_request_get_protocol(http_request_t *request)
|
||||
{
|
||||
assert(request);
|
||||
if (request->is_reverse) {
|
||||
return NULL;
|
||||
}
|
||||
return request->protocol;
|
||||
}
|
||||
|
||||
@@ -250,6 +269,9 @@ http_request_get_header(http_request_t *request, const char *name)
|
||||
int i;
|
||||
|
||||
assert(request);
|
||||
if (request->is_reverse) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
for (i=0; i<request->headers_size; i+=2) {
|
||||
if (!strcmp(request->headers[i], name)) {
|
||||
@@ -263,7 +285,6 @@ const char *
|
||||
http_request_get_data(http_request_t *request, int *datalen)
|
||||
{
|
||||
assert(request);
|
||||
|
||||
if (datalen) {
|
||||
*datalen = request->datalen;
|
||||
}
|
||||
@@ -277,6 +298,10 @@ http_request_get_header_string(http_request_t *request, char **header_str)
|
||||
*header_str = NULL;
|
||||
return 0;
|
||||
}
|
||||
if (request->is_reverse) {
|
||||
*header_str = NULL;
|
||||
return 0;
|
||||
}
|
||||
int len = 0;
|
||||
for (int i = 0; i < request->headers_size; i++) {
|
||||
len += strlen(request->headers[i]);
|
||||
@@ -309,3 +334,11 @@ http_request_get_header_string(http_request_t *request, char **header_str)
|
||||
assert(p == &(str[len]));
|
||||
return len;
|
||||
}
|
||||
|
||||
bool http_request_is_reverse(http_request_t *request) {
|
||||
return request->is_reverse;
|
||||
}
|
||||
|
||||
void http_request_set_reverse(http_request_t *request) {
|
||||
request->is_reverse = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user