John Lowe
/
WebSockets2
Embedded WebSockets Experiment
HTTPRestHandler.h@0:6dee052a3fa4, 2011-07-26 (annotated)
- Committer:
- nandgate
- Date:
- Tue Jul 26 05:30:53 2011 +0000
- Revision:
- 0:6dee052a3fa4
Who changed what in which revision?
User | Revision | Line number | New 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 |