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 Mar 16 15:04:46 2016 +0000
Revision:
9:0ce800923eda
Parent:
2:f8e393a81c25
bug fix

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