David Byron's patch that allows a client to make the server quit with a

magic url.
This commit is contained in:
Daniel Stenberg 2003-07-01 15:21:42 +00:00
parent 964a41c75c
commit 7968e3c2de
1 changed files with 19 additions and 0 deletions

View File

@ -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);