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.
Response/HTTPResponse.cpp@9:0ce800923eda, 2016-03-16 (annotated)
- 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?
User | Revision | Line number | New 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 | } |