ARM mbed M2X API Client: The ARM mbed client library is used to send/receive data to/from AT&T's M2X service from mbed LPC1768 microcontrollers.
Dependents: m2x-demo-all M2X_MTS_ACCEL_DEMO M2X_MTS_Accel M2X_K64F_ACCEL ... more
Diff: M2XStreamClient.cpp
- Revision:
- 14:205076b587fe
- Parent:
- 13:0d574742208f
- Child:
- 16:7903152de19f
--- a/M2XStreamClient.cpp Tue Dec 09 14:36:16 2014 +0000 +++ b/M2XStreamClient.cpp Sun Jan 04 05:26:33 2015 +0000 @@ -29,11 +29,13 @@ const char* key, int case_insensitive, const char* host, - int port) : _client(client), + int port, + const char* path_prefix) : _client(client), _key(key), _case_insensitive(case_insensitive), _host(host), _port(port), + _path_prefix(path_prefix), _null_print() { } @@ -42,7 +44,10 @@ const char* query) { if (_client->connect(_host, _port)) { DBGLN("%s", "Connected to M2X server!"); - _client->print("GET /v2/devices/"); + _client->print("GET "); + if (_path_prefix) + _client->print(_path_prefix); + _client->print("/v2/devices/"); print_encoded_string(_client, deviceId); _client->print("/streams/"); print_encoded_string(_client, streamName); @@ -75,7 +80,10 @@ void* context) { if (_client->connect(_host, _port)) { DBGLN("%s", "Connected to M2X server!"); - _client->print("GET /v2/devices/"); + _client->print("GET "); + if (_path_prefix) + _client->print(_path_prefix); + _client->print("/v2/devices/"); print_encoded_string(_client, deviceId); _client->println("/location HTTP/1.0"); @@ -143,7 +151,10 @@ void M2XStreamClient::writePutHeader(const char* deviceId, const char* streamName, int contentLength) { - _client->print("PUT /v2/devices/"); + _client->print("PUT "); + if (_path_prefix) + _client->print(_path_prefix); + _client->print("/v2/devices/"); print_encoded_string(_client, deviceId); _client->print("/streams/"); print_encoded_string(_client, streamName); @@ -155,7 +166,10 @@ void M2XStreamClient::writeDeleteHeader(const char* deviceId, const char* streamName, int contentLength) { - _client->print("DELETE /v2/devices/"); + _client->print("DELETE "); + if (_path_prefix) + _client->print(_path_prefix); + _client->print("/v2/devices/"); print_encoded_string(_client, deviceId); _client->print("/streams/"); print_encoded_string(_client, streamName);