network/http_server/requests/get_params.c
/*
* EVALUATION AND USE OF THIS SOFTWARE IS SUBJECT TO THE TERMS AND
* CONDITIONS OF THE CONTROLLING LICENSE AGREEMENT FOUND AT LICENSE.md
* IN THIS SDK. IF YOU DO NOT AGREE TO THE LICENSE TERMS AND CONDITIONS,
* PLEASE RETURN ALL SOURCE FILES TO SILICON LABORATORIES.
* (c) Copyright 2018, Silicon Laboratories Inc. All rights reserved.
*/
#include "gos.h"
#include "common.h"
extern bool led_value;
/*************************************************************************************************
* This handles a standard GET request with URL parameters
* GET http://<domain>/get_params?msg=<msg_str>&light=<on/off>&retval=<retval_str>
*/
{
gos_result_t result;
char buffer[256];
bool value;
if (msg_param == NULL)
{
return return_error(request, "'msg' variable not found");
}
if (light_param == NULL)
{
return return_error(request, "'light' variable not found");
}
if (reval_param == NULL)
{
return return_error(request, "'retval' variable not found");
}
{
return return_error(request, buffer);
}
led_value = value;
gos_gpio_set(PLATFORM_STD_LED, led_value ? PLATFORM_LED_ACTIVE_STATE : !PLATFORM_LED_ACTIVE_STATE);
if (GOS_FAILED(result, gos_hs_write_reply_header(request, "text/html", len, GOS_HS_RESPONSE_FLAG_NONE)))
{
}
{
}
return result;
}
/*************************************************************************************************/
{
char buffer[512];
char *ptr = buffer;
ptr += sprintf(ptr, "<h1>Bad Request</h1><h3>");
ptr += sprintf(ptr, msg);
ptr += sprintf(ptr, "</h3>URL must be of the form:<br />http://[domain]/get_params?msg=[msg_str]&light=[on/off]&retval=[retval_str]<br /><br />");
ptr += sprintf(ptr, "For example, copy and paste the following into your internet browser:<br />");
ptr += sprintf(ptr, "<pre>http://%s/get_params?msg=Heres-a-message&light=on&retval=Heres-a-return-value</pre>", ip_str_buffer);
}