mirror of
https://github.com/moparisthebest/curl
synced 2024-12-21 23:58:49 -05:00
David Byron's patch that allows a client to make the server quit with a
magic url.
This commit is contained in:
parent
964a41c75c
commit
7968e3c2de
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user