redirect http get requests of / to index.html (note, the http_parse_request may worth a rewrite)

Originally committed as revision 8113 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Alex Beregszaszi 2007-02-24 03:17:59 +00:00
parent c3f5818525
commit bae79c048f
1 changed files with 10 additions and 8 deletions

View File

@ -1175,7 +1175,7 @@ static int http_parse_request(HTTPContext *c)
char *p;
enum RedirType redir_type;
char cmd[32];
char info[1024], *filename;
char info[1024], filename[1024];
char url[1024], *q;
char protocol[32];
char msg[1024];
@ -1209,11 +1209,7 @@ static int http_parse_request(HTTPContext *c)
http_log("New connection: %s %s\n", cmd, url);
/* find the filename and the optional info string in the request */
p = url;
if (*p == '/')
p++;
filename = p;
p = strchr(p, '?');
p = strchr(url, '?');
if (p) {
pstrcpy(info, sizeof(info), p);
*p = '\0';
@ -1221,6 +1217,8 @@ static int http_parse_request(HTTPContext *c)
info[0] = '\0';
}
pstrcpy(filename, sizeof(filename)-1, url + ((*url == '/') ? 1 : 0));
for (p = c->buffer; *p && *p != '\r' && *p != '\n'; ) {
if (strncasecmp(p, "User-Agent:", 11) == 0) {
useragent = p + 11;
@ -1248,12 +1246,16 @@ static int http_parse_request(HTTPContext *c)
strcpy(filename + strlen(filename)-2, "m");
} else if (match_ext(filename, "rtsp")) {
redir_type = REDIR_RTSP;
compute_real_filename(filename, sizeof(url) - 1);
compute_real_filename(filename, sizeof(filename) - 1);
} else if (match_ext(filename, "sdp")) {
redir_type = REDIR_SDP;
compute_real_filename(filename, sizeof(url) - 1);
compute_real_filename(filename, sizeof(filename) - 1);
}
// "redirect" / request to index.html
if (!strlen(filename))
pstrcpy(filename, sizeof(filename) - 1, "index.html");
stream = first_stream;
while (stream != NULL) {
if (!strcmp(stream->filename, filename) && validate_acl(stream, c))