A client for the SmartREST protocol from Cumulocity.

Dependencies:   HTTPClient SmartRest

Committer:
vwochnik
Date:
Wed Apr 02 12:23:46 2014 +0000
Revision:
12:788dd934f283
Parent:
10:478414cc15a4
fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vwochnik 2:1038411466a6 1 #include "HTTPGeneratorWrapper.h"
vwochnik 2:1038411466a6 2 #include <stdlib.h>
vwochnik 9:3bbb83e7cbfd 3 #include <stdio.h>
vwochnik 2:1038411466a6 4 #include <string.h>
vwochnik 2:1038411466a6 5
vwochnik 2:1038411466a6 6 HTTPGeneratorWrapper::HTTPGeneratorWrapper(DataGenerator& generator) : _sink(generator.writtenLength())
vwochnik 2:1038411466a6 7 {
vwochnik 2:1038411466a6 8 generator.writeTo(_sink);
vwochnik 2:1038411466a6 9 _len = _sink.length();
vwochnik 2:1038411466a6 10 _pos = 0;
vwochnik 10:478414cc15a4 11
vwochnik 10:478414cc15a4 12 char *p = (char*)_sink.buffer();
vwochnik 10:478414cc15a4 13 size_t i = 0;
vwochnik 10:478414cc15a4 14 while (i < _len) {
vwochnik 10:478414cc15a4 15 putchar(*p++);
vwochnik 10:478414cc15a4 16 i++;
vwochnik 10:478414cc15a4 17 }
vwochnik 2:1038411466a6 18 }
vwochnik 2:1038411466a6 19
vwochnik 2:1038411466a6 20 void HTTPGeneratorWrapper::readReset()
vwochnik 2:1038411466a6 21 {
vwochnik 2:1038411466a6 22 _pos = 0;
vwochnik 2:1038411466a6 23 }
vwochnik 2:1038411466a6 24
vwochnik 2:1038411466a6 25 int HTTPGeneratorWrapper::read(char* buf, size_t len, size_t* pReadLen)
vwochnik 2:1038411466a6 26 {
vwochnik 2:1038411466a6 27 *pReadLen = len;
vwochnik 2:1038411466a6 28 if (len > _len - _pos)
vwochnik 2:1038411466a6 29 *pReadLen = _len - _pos;
vwochnik 2:1038411466a6 30 else
vwochnik 2:1038411466a6 31 *pReadLen = len;
vwochnik 2:1038411466a6 32 memcpy(buf, _sink.buffer()+_pos, *pReadLen);
vwochnik 2:1038411466a6 33 _pos += *pReadLen;
vwochnik 4:0eb69392686f 34 return 0;
vwochnik 2:1038411466a6 35 }
vwochnik 2:1038411466a6 36
vwochnik 2:1038411466a6 37 int HTTPGeneratorWrapper::getDataType(char* type, size_t maxTypeLen)
vwochnik 2:1038411466a6 38 {
vwochnik 2:1038411466a6 39 return 1;
vwochnik 2:1038411466a6 40 }
vwochnik 2:1038411466a6 41
vwochnik 2:1038411466a6 42 bool HTTPGeneratorWrapper::getIsChunked()
vwochnik 2:1038411466a6 43 {
vwochnik 2:1038411466a6 44 return false;
vwochnik 2:1038411466a6 45 }
vwochnik 2:1038411466a6 46
vwochnik 2:1038411466a6 47 size_t HTTPGeneratorWrapper::getDataLen()
vwochnik 2:1038411466a6 48 {
vwochnik 2:1038411466a6 49 return _len;
vwochnik 2:1038411466a6 50 }