diff options
author | Vinicius Costa Gomes <vinicius.gomes@intel.com> | 2016-11-09 20:21:53 -0200 |
---|---|---|
committer | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2017-01-20 16:23:19 +0200 |
commit | 0eaeaf248199dd9cc50d08e6512713dcee64f73b (patch) | |
tree | 9c86d5bdd7002ce980aea1066dce900f70c50081 /samples | |
parent | db049395f17b63cd35a3e26eba46b26ca6d633cd (diff) |
samples/zoap_server: Add support for messages with token
So the sample zoap server application is more conformant, include the
token from the request, if any, in the response.
Change-Id: I5aacc1a3f81ebeaf473d327163c952b829489b01
Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Diffstat (limited to 'samples')
-rw-r--r-- | samples/net/zoap_server/src/zoap-server.c | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/samples/net/zoap_server/src/zoap-server.c b/samples/net/zoap_server/src/zoap-server.c index 2db67b964..7a07936d2 100644 --- a/samples/net/zoap_server/src/zoap-server.c +++ b/samples/net/zoap_server/src/zoap-server.c @@ -45,7 +45,8 @@ static int test_del(struct zoap_resource *resource, { struct net_buf *buf, *frag; struct zoap_packet response; - uint8_t code, type, *payload; + uint8_t tkl, code, type, *payload; + const uint8_t *token; uint16_t id, len; int r; @@ -58,6 +59,7 @@ static int test_del(struct zoap_resource *resource, code = zoap_header_get_code(request); type = zoap_header_get_type(request); id = zoap_header_get_id(request); + token = zoap_header_get_token(request, &tkl); NET_INFO("*******\n"); NET_INFO("type: %u code %u id %u\n", type, code, id); @@ -91,6 +93,7 @@ static int test_del(struct zoap_resource *resource, zoap_header_set_type(&response, type); zoap_header_set_code(&response, ZOAP_RESPONSE_CODE_DELETED); zoap_header_set_id(&response, id); + zoap_header_set_token(&response, token, tkl); return net_context_sendto(buf, from, sizeof(struct sockaddr_in6), NULL, 0, NULL, NULL); @@ -102,7 +105,8 @@ static int test_put(struct zoap_resource *resource, { struct net_buf *buf, *frag; struct zoap_packet response; - uint8_t *payload, code, type; + uint8_t *payload, code, type, tkl; + const uint8_t *token; uint16_t len, id; int r; @@ -114,6 +118,7 @@ static int test_put(struct zoap_resource *resource, code = zoap_header_get_code(request); type = zoap_header_get_type(request); id = zoap_header_get_id(request); + token = zoap_header_get_token(request, &tkl); NET_INFO("*******\n"); NET_INFO("type: %u code %u id %u\n", type, code, id); @@ -147,6 +152,7 @@ static int test_put(struct zoap_resource *resource, zoap_header_set_type(&response, type); zoap_header_set_code(&response, ZOAP_RESPONSE_CODE_CHANGED); zoap_header_set_id(&response, id); + zoap_header_set_token(&response, token, tkl); return net_context_sendto(buf, from, sizeof(struct sockaddr_in6), NULL, 0, NULL, NULL); @@ -158,7 +164,8 @@ static int test_post(struct zoap_resource *resource, { struct net_buf *buf, *frag; struct zoap_packet response; - uint8_t *payload, code, type; + uint8_t *payload, code, type, tkl; + const uint8_t *token; uint16_t len, id; int r; @@ -171,6 +178,7 @@ static int test_post(struct zoap_resource *resource, code = zoap_header_get_code(request); type = zoap_header_get_type(request); id = zoap_header_get_id(request); + token = zoap_header_get_token(request, &tkl); NET_INFO("*******\n"); NET_INFO("type: %u code %u id %u\n", type, code, id); @@ -204,6 +212,7 @@ static int test_post(struct zoap_resource *resource, zoap_header_set_type(&response, type); zoap_header_set_code(&response, ZOAP_RESPONSE_CODE_CREATED); zoap_header_set_id(&response, id); + zoap_header_set_token(&response, token, tkl); return net_context_sendto(buf, from, sizeof(struct sockaddr_in6), NULL, 0, NULL, NULL); @@ -215,8 +224,10 @@ static int piggyback_get(struct zoap_resource *resource, { struct net_buf *buf, *frag; struct zoap_packet response; + const uint8_t *token; uint8_t *payload, code, type; uint16_t len, id; + uint8_t tkl; int r; payload = zoap_packet_get_payload(request, &len); @@ -228,6 +239,7 @@ static int piggyback_get(struct zoap_resource *resource, code = zoap_header_get_code(request); type = zoap_header_get_type(request); id = zoap_header_get_id(request); + token = zoap_header_get_token(request, &tkl); NET_INFO("*******\n"); NET_INFO("type: %u code %u id %u\n", type, code, id); @@ -262,6 +274,7 @@ static int piggyback_get(struct zoap_resource *resource, zoap_header_set_type(&response, type); zoap_header_set_code(&response, ZOAP_RESPONSE_CODE_CONTENT); zoap_header_set_id(&response, id); + zoap_header_set_token(&response, token, tkl); payload = zoap_packet_get_payload(&response, &len); if (!payload) { @@ -291,7 +304,8 @@ static int query_get(struct zoap_resource *resource, struct zoap_option options[4]; struct net_buf *buf, *frag; struct zoap_packet response; - uint8_t *payload, code, type; + uint8_t *payload, code, type, tkl; + const uint8_t *token; uint16_t len, id; int i, r; @@ -304,6 +318,7 @@ static int query_get(struct zoap_resource *resource, code = zoap_header_get_code(request); type = zoap_header_get_type(request); id = zoap_header_get_id(request); + token = zoap_header_get_token(request, &tkl); r = zoap_find_options(request, ZOAP_OPTION_URI_QUERY, options, 4); if (r <= 0) { @@ -354,6 +369,7 @@ static int query_get(struct zoap_resource *resource, zoap_header_set_type(&response, ZOAP_TYPE_ACK); zoap_header_set_code(&response, ZOAP_RESPONSE_CODE_CONTENT); zoap_header_set_id(&response, id); + zoap_header_set_token(&response, token, tkl); payload = zoap_packet_get_payload(&response, &len); if (!payload) { @@ -382,7 +398,8 @@ static int separate_get(struct zoap_resource *resource, { struct net_buf *buf, *frag; struct zoap_packet response; - uint8_t *payload, code, type; + uint8_t *payload, code, type, tkl; + const uint8_t *token; uint16_t len, id; int r; @@ -395,6 +412,7 @@ static int separate_get(struct zoap_resource *resource, code = zoap_header_get_code(request); type = zoap_header_get_type(request); id = zoap_header_get_id(request); + token = zoap_header_get_token(request, &tkl); NET_INFO("*******\n"); NET_INFO("type: %u code %u id %u\n", type, code, id); @@ -426,6 +444,7 @@ static int separate_get(struct zoap_resource *resource, zoap_header_set_type(&response, ZOAP_TYPE_ACK); zoap_header_set_code(&response, 0); zoap_header_set_id(&response, id); + zoap_header_set_token(&response, token, tkl); r = net_context_sendto(buf, from, sizeof(struct sockaddr_in6), NULL, 0, NULL, NULL); @@ -462,6 +481,7 @@ done: zoap_header_set_type(&response, type); zoap_header_set_code(&response, ZOAP_RESPONSE_CODE_CONTENT); zoap_header_set_id(&response, id); + zoap_header_set_token(&response, token, tkl); payload = zoap_packet_get_payload(&response, &len); if (!payload) { |