static void res_get_handler(void *request, void *response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) { s_ns_t* ps_ns = NULL; ps_ns = emb6_get(); if ((ps_ns != NULL) || (ps_ns->inif != NULL)) REST.set_response_payload(response, buffer, snprintf((char *)buffer, preferred_size, "RSSI: %i dBm, Power: %i dBm, Sensitivity: %i dBm", ps_ns->inif->get_rssi(), ps_ns->inif->get_txpower(), ps_ns->inif->get_sensitivity())); }
static void res_get_handler(void *request, void *response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) { int length = 0; const char *len = NULL; char message[64]; s_ns_t* ps_ns = NULL; ps_ns = emb6_get(); if ((ps_ns != NULL) || (ps_ns->inif != NULL)) { /* Some data that has the length up to REST_MAX_CHUNK_SIZE. For more, * see the chunk resource. */ length = snprintf((char *)message, REST_MAX_CHUNK_SIZE, "RSSI: %i dBm, Power: %i dBm, Sensitivity: %i dBm", ps_ns->inif->get_rssi(), ps_ns->inif->get_txpower(), ps_ns->inif->get_sensitivity()); /* The query string can be retrieved by rest_get_query() or parsed for * its key-value pairs. */ if(REST.get_query_variable(request, "len", &len)) { length = atoi(len); if(length < 0) { length = 0; } if(length > REST_MAX_CHUNK_SIZE) { length = REST_MAX_CHUNK_SIZE; } memcpy(buffer, message, length); } else { memcpy(buffer, message, length); } /* text/plain is the default, hence this option could be omitted. */ REST.set_header_content_type(response, REST.type.TEXT_PLAIN); REST.set_header_etag(response, (uint8_t *)&length, 1); REST.set_response_payload(response, buffer, length); } }