add cookie example to test server

Signed-off-by: Andy Green <andy.green@linaro.org>
diff --git a/test-server/test-server.c b/test-server/test-server.c
index e93fffa..dacc22f 100644
--- a/test-server/test-server.c
+++ b/test-server/test-server.c
@@ -124,8 +124,11 @@
 #endif
 	char buf[256];
 	char leaf_path[1024];
+	char b64[64];
+	struct timeval tv;
 	int n, m;
 	unsigned char *p;
+	char *other_headers;
 	static unsigned char buffer[4096];
 	struct stat stat_buf;
 	struct per_session_data__http *pss =
@@ -201,7 +204,26 @@
 
 		sprintf(buf, "%s%s", resource_path, whitelist[n].urlpath);
 
-		if (libwebsockets_serve_http_file(context, wsi, buf, whitelist[n].mimetype, NULL))
+		/* demostrates how to set a cookie on / */
+
+		other_headers = NULL;
+		if (!strcmp((const char *)in, "/") &&
+			   !lws_hdr_total_length(wsi, WSI_TOKEN_HTTP_COOKIE)) {
+			/* this isn't very unguessable but it'll do for us */
+			gettimeofday(&tv, NULL);
+			sprintf(b64, "LWS_%u_%u_COOKIE",
+				(unsigned int)tv.tv_sec,
+				(unsigned int)tv.tv_usec);
+
+			sprintf(leaf_path,
+				"Set-Cookie: test=LWS_%u_%u_COOKIE;Max-Age=360000\x0d\x0a",
+			    (unsigned int)tv.tv_sec, (unsigned int)tv.tv_usec);
+			other_headers = leaf_path;
+			lwsl_err(other_headers);
+		}
+
+		if (libwebsockets_serve_http_file(context, wsi, buf,
+					whitelist[n].mimetype, other_headers))
 			return -1; /* through completion or error, close the socket */
 
 		/*
@@ -323,7 +345,7 @@
 dump_handshake_info(struct libwebsocket *wsi)
 {
 	int n;
-	static const char *token_names[WSI_TOKEN_COUNT] = {
+	static const char *token_names[] = {
 		/*[WSI_TOKEN_GET_URI]		=*/ "GET URI",
 		/*[WSI_TOKEN_HOST]		=*/ "Host",
 		/*[WSI_TOKEN_CONNECTION]	=*/ "Connection",
@@ -365,7 +387,7 @@
 	};
 	char buf[256];
 
-	for (n = 0; n < WSI_TOKEN_COUNT; n++) {
+	for (n = 0; n < sizeof(token_names) / sizeof(token_names[0]); n++) {
 		if (!lws_hdr_total_length(wsi, n))
 			continue;