Murata RF modules are designed to simplify wireless development and certification by minimizing the amount of RF expertise you need to wirelessly enable a wide range of applications.

Committer:
yangcq88517
Date:
Wed Feb 04 20:37:40 2015 +0000
Revision:
2:f8e393a81c25
Parent:
0:8e83b9448758
Child:
9:0ce800923eda
Bug Fix (Payload SetContent)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yangcq88517 0:8e83b9448758 1 #include "HTTPResponse.h"
yangcq88517 0:8e83b9448758 2
yangcq88517 0:8e83b9448758 3 using namespace SmartLabMuRata;
yangcq88517 0:8e83b9448758 4
yangcq88517 0:8e83b9448758 5 HTTPResponse::HTTPResponse(Payload * payload)
yangcq88517 0:8e83b9448758 6 : Payload(payload)
yangcq88517 0:8e83b9448758 7 {
yangcq88517 0:8e83b9448758 8 statusCode = GetData()[2] << 8 | GetData()[3];
yangcq88517 0:8e83b9448758 9 if (statusCode >= 100) {
yangcq88517 0:8e83b9448758 10 contentLength = (GetData()[4] & 0x7F) << 8 | GetData()[5];
yangcq88517 2:f8e393a81c25 11 contentType.assign(GetData() + 6);
yangcq88517 0:8e83b9448758 12 payloadOffset = 6 + contentType.length() + 1;
yangcq88517 2:f8e393a81c25 13
yangcq88517 2:f8e393a81c25 14 GetData()[payloadOffset + contentLength] = 0x00;
yangcq88517 0:8e83b9448758 15 }
yangcq88517 0:8e83b9448758 16 }
yangcq88517 0:8e83b9448758 17
yangcq88517 0:8e83b9448758 18 bool HTTPResponse::isMoreDataComing()
yangcq88517 0:8e83b9448758 19 {
yangcq88517 0:8e83b9448758 20 return (GetData()[4] >> 7) == 0x01 ? true : false;
yangcq88517 0:8e83b9448758 21 }
yangcq88517 0:8e83b9448758 22
yangcq88517 0:8e83b9448758 23 int HTTPResponse::GetContentLength()
yangcq88517 0:8e83b9448758 24 {
yangcq88517 0:8e83b9448758 25 return contentLength;
yangcq88517 0:8e83b9448758 26 }
yangcq88517 0:8e83b9448758 27
yangcq88517 0:8e83b9448758 28 int HTTPResponse::GetStatusCode()
yangcq88517 0:8e83b9448758 29 {
yangcq88517 0:8e83b9448758 30 return statusCode;
yangcq88517 0:8e83b9448758 31 }
yangcq88517 0:8e83b9448758 32
yangcq88517 0:8e83b9448758 33 char HTTPResponse::GetContent(int index)
yangcq88517 0:8e83b9448758 34 {
yangcq88517 0:8e83b9448758 35 return GetData()[index + payloadOffset];
yangcq88517 0:8e83b9448758 36 }
yangcq88517 0:8e83b9448758 37
yangcq88517 0:8e83b9448758 38 const char * HTTPResponse::GetContent()
yangcq88517 0:8e83b9448758 39 {
yangcq88517 0:8e83b9448758 40 return GetData() + payloadOffset;
yangcq88517 0:8e83b9448758 41 }
yangcq88517 0:8e83b9448758 42
yangcq88517 0:8e83b9448758 43 string & HTTPResponse::GetContentType()
yangcq88517 0:8e83b9448758 44 {
yangcq88517 0:8e83b9448758 45 return contentType;
yangcq88517 0:8e83b9448758 46 }
yangcq88517 0:8e83b9448758 47
yangcq88517 0:8e83b9448758 48 int HTTPResponse::GetContentOffset()
yangcq88517 0:8e83b9448758 49 {
yangcq88517 0:8e83b9448758 50 return payloadOffset;
yangcq88517 0:8e83b9448758 51 }