Changeset 1632:b0661b9e951c in roaraudio


Ignore:
Timestamp:
04/28/09 14:55:19 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added support for gopher to roarmonhttp (inetd mode)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roarclients/roarmonhttp.c

    r1605 r1632  
    134134 
    135135 
    136 int parse_http (void) { 
     136int parse_http (int * gopher) { 
    137137 char buf[1024]; 
    138138 char * qs = buf, *str; 
     
    147147 if ( strncmp(buf, "GET /", 5) ) { 
    148148  if ( strncmp(buf, "SOURCE /", 8) ) { 
    149    return -1; 
     149   if ( buf[0] != '/' ) { 
     150    return -1; 
     151   } else { 
     152    *gopher = 1; 
     153   } 
    150154  } else { 
    151155   dir = ROAR_DIR_PLAY; 
     
    154158 } 
    155159 
    156  qs += 5; 
    157  
    158  if ( (str = strstr(qs, " ")) == NULL ) 
    159   return -1; 
    160  
    161  *str = 0; 
     160 if ( !*gopher ) { 
     161  qs += 5; 
     162 
     163  if ( (str = strstr(qs, " ")) == NULL ) 
     164   return -1; 
     165 
     166  *str = 0; 
     167 } else { 
     168  if ( (str = strstr(qs, "\r")) != NULL ) 
     169   *str = 0; 
     170  if ( (str = strstr(qs, "\n")) != NULL ) 
     171   *str = 0; 
     172 } 
    162173 
    163174 for (; *qs != '?'; qs++) 
     
    168179  qs++; 
    169180 
    170  printf("HTTP/1.0 200 OK\r\n"); 
     181 if ( !*gopher ) 
     182  printf("HTTP/1.0 200 OK\r\n"); 
    171183// printf("QS: %s\r\n", qs); 
    172184 
     
    189201 char * sp0 = NULL, * sp1 = NULL; 
    190202 int dir = ROAR_DIR_MONITOR; 
     203 int gopher = 0; 
    191204 
    192205 alarm(0); // reset alarm timers from httpd  
     
    194207 if ( argc > 1 ) 
    195208  if ( ! strcmp(argv[1], "--inetd") ) 
    196    if ( (dir = parse_http()) == -1 ) 
     209   if ( (dir = parse_http(&gopher)) == -1 ) 
    197210    return 1; 
    198211 
     
    225238 } 
    226239 
    227  print_header(codec, rate, channels); 
     240 if ( !gopher ) 
     241  print_header(codec, rate, channels); 
    228242 
    229243/* 
Note: See TracChangeset for help on using the changeset viewer.