A client for the SmartREST protocol from Cumulocity.

Dependencies:   SmartRest

Fork of MbedSmartRest by Vincent Wochnik

Committer:
vwochnik
Date:
Mon May 26 08:25:44 2014 +0000
Revision:
18:f76f9ae79195
Parent:
15:0ce90c525e7a
fix for bootstrapping

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vwochnik 14:dc3f8dd5c02b 1 #ifndef HTTPRESPONSEFILTER_H
vwochnik 14:dc3f8dd5c02b 2 #define HTTPRESPONSEFILTER_H
vwochnik 14:dc3f8dd5c02b 3
vwochnik 14:dc3f8dd5c02b 4 #include <stddef.h>
vwochnik 14:dc3f8dd5c02b 5 #include "AbstractDataSource.h"
vwochnik 14:dc3f8dd5c02b 6
vwochnik 14:dc3f8dd5c02b 7 #define RESPF_STATE_INIT 0
vwochnik 14:dc3f8dd5c02b 8 #define RESPF_STATE_READ_STATUS 1
vwochnik 14:dc3f8dd5c02b 9 #define RESPF_STATE_READ_HEADERS 2
vwochnik 14:dc3f8dd5c02b 10
vwochnik 14:dc3f8dd5c02b 11 /**
vwochnik 14:dc3f8dd5c02b 12 * Reads and evaluates a HTTP response.
vwochnik 14:dc3f8dd5c02b 13 * The read() and status() methods allow access to the response content
vwochnik 14:dc3f8dd5c02b 14 * without HTTP headers.
vwochnik 14:dc3f8dd5c02b 15 */
vwochnik 14:dc3f8dd5c02b 16 class HTTPResponseFilter : public AbstractDataSource
vwochnik 14:dc3f8dd5c02b 17 {
vwochnik 14:dc3f8dd5c02b 18 public:
vwochnik 14:dc3f8dd5c02b 19 HTTPResponseFilter(AbstractDataSource& source);
vwochnik 14:dc3f8dd5c02b 20 ~HTTPResponseFilter();
vwochnik 14:dc3f8dd5c02b 21
vwochnik 14:dc3f8dd5c02b 22 char read();
vwochnik 14:dc3f8dd5c02b 23 uint8_t status();
vwochnik 14:dc3f8dd5c02b 24
vwochnik 14:dc3f8dd5c02b 25 uint16_t readStatus();
vwochnik 14:dc3f8dd5c02b 26 bool skipHeaders();
vwochnik 14:dc3f8dd5c02b 27
vwochnik 14:dc3f8dd5c02b 28 void reset();
vwochnik 14:dc3f8dd5c02b 29
vwochnik 14:dc3f8dd5c02b 30 private:
vwochnik 14:dc3f8dd5c02b 31 AbstractDataSource& _source;
vwochnik 14:dc3f8dd5c02b 32 uint8_t _state;
vwochnik 15:0ce90c525e7a 33 size_t _length, _read;
vwochnik 14:dc3f8dd5c02b 34 };
vwochnik 14:dc3f8dd5c02b 35
vwochnik 14:dc3f8dd5c02b 36 #endif