Roxen.git / server / etc / test / tests / http / http_common.pike

version» Context lines:

Roxen.git/server/etc/test/tests/http/http_common.pike:1:   constant OK = 0;      constant BADHEADERS = 2;   constant BADDATA = 3;   constant NOCONN = 4;    + constant BADPROT = 5; + constant BADCODE = 6; + constant NODATE = 7; + constant BADLENGTH = 8; + constant BADMODIFIED= 9; +    constant HEADERS = 11;   constant DATA = 12;   constant CONN = 13;      constant TIMEOUT = 99;   constant BADARG = 100;      void setup_timeout( )   {    void timeout() { exit( TIMEOUT ); };
Roxen.git/server/etc/test/tests/http/http_common.pike:36:       Stdio.File f = Stdio.File();    [string host, int port] = get_host_port( url );    if( !f->connect( (host=="*"?"127.0.0.1":host), port ) )    exit( NOCONN );       return f;   }       - void verify_headers( string headers, int content_length ) + void verify_headers( string headers, int content_length, +  string expected_prot, int expected_code, +  int want_last_modified )   { -  +  array q = headers / "\r\n"; +  string prot; +  int code; +  string message; +  if( sscanf( q[0], "%s %d %s", prot, code, message ) != 3 )exit( BADHEADERS ); +  if( prot != expected_prot ) exit( BADPROT ); +  if( code != expected_code ) exit( BADCODE );    -  +  +  mapping hd = ([]); +  foreach( q[1..], string header ) +  { +  string a, b; +  sscanf( header, "%s: %s", a, b ); +  hd[ lower_case( a ) ] = b;    }    -  +  if( !hd->date ) +  exit( NODATE ); +  if( !hd["content-length"] || (int)hd["content-length"] != content_length ) +  exit( BADLENGTH ); +  if( want_last_modified && !hd["last-modified"] ) +  exit( BADMODIFIED ); + } +