diff options
| author | Daniel Stenberg <daniel@haxx.se> | 2003-07-01 15:21:42 +0000 | 
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2003-07-01 15:21:42 +0000 | 
| commit | 7968e3c2de56b035081f30ddcc9b60be2d75f396 (patch) | |
| tree | 4d8fe500e106c2e0729301dd3268eb60c6367d3c | |
| parent | 964a41c75c3f83a59e205a1b5908790a542281fa (diff) | |
David Byron's patch that allows a client to make the server quit with a
magic url.
| -rw-r--r-- | tests/server/sws.c | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/tests/server/sws.c b/tests/server/sws.c index 07b37a25f..b798a682b 100644 --- a/tests/server/sws.c +++ b/tests/server/sws.c @@ -71,6 +71,7 @@ spitout(FILE *stream,  #define TEST_DATA_PATH "data/test%d"  enum { +  DOCNUMBER_QUIT    = -6,    DOCNUMBER_BADCONNECT = -5,    DOCNUMBER_INTERNAL= -4,    DOCNUMBER_CONNECT = -3, @@ -78,6 +79,12 @@ enum {    DOCNUMBER_404     = -1  }; + +/* sent as reply to a QUIT */ +static const char *docquit = +"HTTP/1.1 200 Goodbye\r\n" +"\r\n"; +  /* sent as reply to a CONNECT */  static const char *docconnect =  "HTTP/1.1 200 Mighty fine indeed\r\n" @@ -279,6 +286,11 @@ static int get_request(int sock, int *part)          return DOCNUMBER_WERULEZ;        } +      if(!strncmp("/quit", ptr, 15)) { +        logmsg("Request-to-quit received"); +        return DOCNUMBER_QUIT; +      } +        ptr++; /* skip the slash */        test_no = strtol(ptr, &ptr, 10); @@ -353,6 +365,10 @@ static int send_doc(int sock, int doc, int part_no)    if(doc < 0) {      switch(doc) { +    case DOCNUMBER_QUIT: +      logmsg("Replying to QUIT"); +      buffer = docquit; +      break;      case DOCNUMBER_WERULEZ:        /* we got a "friends?" question, reply back that we sure are */        logmsg("Identifying ourselves as friends"); @@ -544,6 +560,9 @@ int main(int argc, char *argv[])      logmsg("Closing client connection");      close(msgsock); + +    if (doc == DOCNUMBER_QUIT) +      break;    }    close(sock); | 
