Embedded WebSockets Experiment

Dependencies:   mbed MD5

Committer:
nandgate
Date:
Tue Jul 26 05:30:53 2011 +0000
Revision:
0:6dee052a3fa4

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nandgate 0:6dee052a3fa4 1 #ifndef HTTP_REST_HANDLER_H
nandgate 0:6dee052a3fa4 2 #define HTTP_REST_HANDLER_H
nandgate 0:6dee052a3fa4 3
nandgate 0:6dee052a3fa4 4 #include "mbed.h"
nandgate 0:6dee052a3fa4 5 #include "HTTPServer.h"
nandgate 0:6dee052a3fa4 6 #include "string.h"
nandgate 0:6dee052a3fa4 7
nandgate 0:6dee052a3fa4 8 #define RESP_LEN 1024
nandgate 0:6dee052a3fa4 9
nandgate 0:6dee052a3fa4 10 class HTTPRestData : public HTTPData {
nandgate 0:6dee052a3fa4 11 public:
nandgate 0:6dee052a3fa4 12 HTTPRestData() {
nandgate 0:6dee052a3fa4 13 memset(response, 0, RESP_LEN);
nandgate 0:6dee052a3fa4 14 };
nandgate 0:6dee052a3fa4 15
nandgate 0:6dee052a3fa4 16 char response[RESP_LEN];
nandgate 0:6dee052a3fa4 17 };
nandgate 0:6dee052a3fa4 18
nandgate 0:6dee052a3fa4 19 // HTTP handler for RESTful requests
nandgate 0:6dee052a3fa4 20 class HTTPRestHandler : public HTTPHandler {
nandgate 0:6dee052a3fa4 21 public:
nandgate 0:6dee052a3fa4 22 HTTPRestHandler(const char *path) : HTTPHandler(path) {
nandgate 0:6dee052a3fa4 23 printf("HTTPRestHandler: %s\n", path);
nandgate 0:6dee052a3fa4 24 prefixLength= strlen(path);
nandgate 0:6dee052a3fa4 25 }
nandgate 0:6dee052a3fa4 26
nandgate 0:6dee052a3fa4 27 protected:
nandgate 0:6dee052a3fa4 28 int prefixLength;
nandgate 0:6dee052a3fa4 29 HTTPStatus doGet(char *resource, HTTPConnection *conn) const;
nandgate 0:6dee052a3fa4 30 HTTPStatus doPost(char *resource, HTTPConnection *conn) const;
nandgate 0:6dee052a3fa4 31
nandgate 0:6dee052a3fa4 32 virtual void reg(HTTPServer *server);
nandgate 0:6dee052a3fa4 33 virtual HTTPStatus init(HTTPConnection *conn) const;
nandgate 0:6dee052a3fa4 34 virtual HTTPHandle data(HTTPConnection *conn, void *data, int len) const;
nandgate 0:6dee052a3fa4 35 virtual HTTPHandle send(HTTPConnection *conn, int maxData) const;
nandgate 0:6dee052a3fa4 36 };
nandgate 0:6dee052a3fa4 37
nandgate 0:6dee052a3fa4 38 #endif