added /show, the first "command" that will print all the DCBs.

This commit is contained in:
Massimiliano Pinto 2013-07-08 11:46:43 +02:00
parent ba4e8542a2
commit 15ef1e072f

View File

@ -53,7 +53,7 @@
*/ */
#define ISspace(x) isspace((int)(x)) #define ISspace(x) isspace((int)(x))
#define HTTP_SERVER_STRING "Gateway(c) v.1.0.0\r\n" #define HTTP_SERVER_STRING "Gateway(c) v.1.0.0"
static char *version_str = "V1.0.0"; static char *version_str = "V1.0.0";
static int httpd_read_event(DCB* dcb); static int httpd_read_event(DCB* dcb);
@ -188,6 +188,7 @@ GWBUF *buffer=NULL;
while ((numchars > 0) && strcmp("\n", buf)) /* read & discard headers */ while ((numchars > 0) && strcmp("\n", buf)) /* read & discard headers */
numchars = httpd_get_line(dcb->fd, buf, sizeof(buf)); numchars = httpd_get_line(dcb->fd, buf, sizeof(buf));
/* send all the basic headers and close with \r\n */ /* send all the basic headers and close with \r\n */
httpd_send_headers(dcb->fd, 1); httpd_send_headers(dcb->fd, 1);
@ -196,10 +197,15 @@ GWBUF *buffer=NULL;
return 0; return 0;
} }
strcpy(GWBUF_DATA(buffer), "Welcome to HTTPD Gateway (c)\n"); if (strcmp(url, "/show") == 0) {
buffer->end = GWBUF_DATA(buffer) + strlen(GWBUF_DATA(buffer)); dprintAllDCBs(dcb);
} else {
dcb->func.write(dcb, buffer); strcpy(GWBUF_DATA(buffer), "Welcome to HTTPD Gateway (c)\n");
buffer->end = GWBUF_DATA(buffer) + strlen(GWBUF_DATA(buffer));
dcb->func.write(dcb, buffer);
}
dcb_close(dcb); dcb_close(dcb);
@ -432,14 +438,14 @@ static void httpd_send_headers(int client, int final)
strcpy(ptr, "HTTP/1.1 200 OK\r\n"); strcpy(ptr, "HTTP/1.1 200 OK\r\n");
ptr += strlen(ptr); ptr += strlen(ptr);
strcpy(ptr, HTTP_SERVER_STRING);
ptr += strlen(ptr);
strcpy(ptr, "Content-Type: text/html\r\n");
ptr += strlen(ptr);
sprintf(ptr, "Date: %s\r\n", date); sprintf(ptr, "Date: %s\r\n", date);
ptr += strlen(ptr); ptr += strlen(ptr);
sprintf(ptr, "Server: %s\r\n", HTTP_SERVER_STRING);
ptr += strlen(ptr);
strcpy(ptr, "Connection: close\r\n"); strcpy(ptr, "Connection: close\r\n");
ptr += strlen(ptr); ptr += strlen(ptr);
strcpy(ptr, "Content-Type: text/plain\r\n");
ptr += strlen(ptr);
/* close the headers */ /* close the headers */
if (final) { if (final) {