Senses an earthquake with MPU6050 and gets time, coordenates and other details of the event with an Adafruit GPS. All the info is sent to an HTTP server
Dependencies: MPU6050 mbed-http MBed_Adafruit-GPS-Library
Diff: source/mbed-http/http_response_parser.h
- Revision:
- 2:4b4ac59ff9b0
- Parent:
- 1:3bff14db67c7
- Child:
- 3:0f5859a9e3de
--- a/source/mbed-http/http_response_parser.h Thu Feb 16 11:13:40 2017 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-#ifndef _HTTP_RESPONSE_PARSER_H_
-#define _HTTP_RESPONSE_PARSER_H_
-
-#include "http_parser.h"
-#include "http_response.h"
-
-class HttpResponseParser {
-public:
- HttpResponseParser(HttpResponse* a_response, Callback<void(const char *at, size_t length)> a_body_callback = 0)
- : response(a_response), body_callback(a_body_callback)
- {
- settings = new http_parser_settings();
-
- settings->on_message_begin = &HttpResponseParser::on_message_begin_callback;
- settings->on_url = &HttpResponseParser::on_url_callback;
- settings->on_status = &HttpResponseParser::on_status_callback;
- settings->on_header_field = &HttpResponseParser::on_header_field_callback;
- settings->on_header_value = &HttpResponseParser::on_header_value_callback;
- settings->on_headers_complete = &HttpResponseParser::on_headers_complete_callback;
- settings->on_chunk_header = &HttpResponseParser::on_chunk_header_callback;
- settings->on_chunk_complete = &HttpResponseParser::on_chunk_complete_callback;
- settings->on_body = &HttpResponseParser::on_body_callback;
- settings->on_message_complete = &HttpResponseParser::on_message_complete_callback;
-
- // Construct the http_parser object
- parser = new http_parser();
- http_parser_init(parser, HTTP_RESPONSE);
- parser->data = (void*)this;
- }
-
- ~HttpResponseParser() {
- if (parser) {
- delete parser;
- }
- if (settings) {
- delete settings;
- }
- }
-
- size_t execute(const char* buffer, size_t buffer_size) {
- return http_parser_execute(parser, settings, buffer, buffer_size);
- }
-
- void finish() {
- http_parser_execute(parser, settings, NULL, 0);
- }
-
-private:
- // Member functions
- int on_message_begin(http_parser* parser) {
- return 0;
- }
-
- int on_url(http_parser* parser, const char *at, size_t length) {
- return 0;
- }
-
- int on_status(http_parser* parser, const char *at, size_t length) {
- string s(at, length);
- response->set_status(parser->status_code, s);
- return 0;
- }
-
- int on_header_field(http_parser* parser, const char *at, size_t length) {
- string s(at, length);
- response->set_header_field(s);
- return 0;
- }
-
- int on_header_value(http_parser* parser, const char *at, size_t length) {
- string s(at, length);
- response->set_header_value(s);
- return 0;
- }
-
- static int on_headers_complete(http_parser* parser) {
- return 0;
- }
-
- int on_body(http_parser* parser, const char *at, size_t length) {
- if (body_callback) {
- body_callback(at, length);
- return 0;
- }
-
- string s(at, length);
- response->set_body(s);
- return 0;
- }
-
- int on_message_complete(http_parser* parser) {
- return 0;
- }
-
- int on_chunk_header(http_parser* parser) {
- // ?? Don't know when this is used
- return 0;
- }
-
- int on_chunk_complete(http_parser* parser) {
- // ?? Don't know when this is used
- return 0;
- }
-
- // Static http_parser callback functions
- static int on_message_begin_callback(http_parser* parser) {
- return ((HttpResponseParser*)parser->data)->on_message_begin(parser);
- }
-
- static int on_url_callback(http_parser* parser, const char *at, size_t length) {
- return ((HttpResponseParser*)parser->data)->on_url(parser, at, length);
- }
-
- static int on_status_callback(http_parser* parser, const char *at, size_t length) {
- return ((HttpResponseParser*)parser->data)->on_status(parser, at, length);
- }
-
- static int on_header_field_callback(http_parser* parser, const char *at, size_t length) {
- return ((HttpResponseParser*)parser->data)->on_header_field(parser, at, length);
- }
-
- static int on_header_value_callback(http_parser* parser, const char *at, size_t length) {
- return ((HttpResponseParser*)parser->data)->on_header_value(parser, at, length);
- }
-
- static int on_headers_complete_callback(http_parser* parser) {
- return ((HttpResponseParser*)parser->data)->on_headers_complete(parser);
- }
-
- static int on_body_callback(http_parser* parser, const char *at, size_t length) {
- return ((HttpResponseParser*)parser->data)->on_body(parser, at, length);
- }
-
- static int on_message_complete_callback(http_parser* parser) {
- return ((HttpResponseParser*)parser->data)->on_message_complete(parser);
- }
-
- static int on_chunk_header_callback(http_parser* parser) {
- return ((HttpResponseParser*)parser->data)->on_chunk_header(parser);
- }
-
- static int on_chunk_complete_callback(http_parser* parser) {
- return ((HttpResponseParser*)parser->data)->on_chunk_complete_callback(parser);
- }
-
- HttpResponse* response;
- Callback<void(const char *at, size_t length)> body_callback;
- http_parser* parser;
- http_parser_settings* settings;
-};
-
-#endif // _HTTP_RESPONSE_PARSER_H_
