hm-webui-httprequest
v0.0.4
Published
A hm-webui plugin to do easy http requests from a scripting language
Downloads
5
Maintainers
Readme
HM WebUI HTTP Request Plugin
This plugin makes it easy to request data from webservers with a get or post request from another plugin (e.g. the HM WebUI Javascript Plugin).
Installation
In the Plugins section of HM WebUI create a new instance of the hm-webui-httprequest plugin.
There are no settings in the plugin settings screen.
Usage
The plugin is supporting the following functions:
get
Parameter
name | type | required | comment :---|:---|:---|:--- url | String | yes | the url (http:// ord https://) to get the data from options | Object | no | a object containing options for the http request (for details visit the Node HTTP documentation)
Returns
The function returns a promise with the following methods:
name | comment :--- | :--- .then() | Called when the data has been received successful. The first parameter of the promise function contains an object described below in the Result .fail() | Called when the data receiving failed. The first parameter of the promise function contains a string with detailed error message .fin() | Called always (on success and error)
Result
The .then() promise function is receiving the following result object:
{
statusCode: 200, //the http statuc code
statusMessage: 'Ok', //the http status message,
headers: {}, //a object with all headers returned by the server,
body: '' // the body is a parsed JSON object if the server is sending application/json in the Content-Type header otherwise it is a string
}
Example
Here an example how you can receive data from a server with the HM WebUI Javascript Plugin
//receive data with a get request
hmwebui.callPluginFunction('hm-webui-httprequest.0','get','http://www.google.de').then(function(result){
//result is an object described above
}).fail(function(err){
//err is a string with a detailed error message
});
post
Parameter
name | type | required | comment :---|:---|:---|:--- url | String | yes | the url (http:// ord https://) to send the data to payload | ObjectString | yes | the data to send to the serverA object is transferred to x-www-form-urlencoded form and the Content-Type header is setIf you want to send the data as is then ou have to provide the data as string (e.g. use JSON.stringify(...) to transfer JSON data) options | Object | no | a object containing options for the http request (for details visit the Node HTTP documentation)
Returns
The function returns a promise with the following methods:
name | comment :--- | :--- .then() | Called when the data has been sent successful. The first parameter of the promise function contains an object described below in the Result .fail() | Called when the data sending failed. The first parameter of the promise function contains a string with detailed error message .fin() | Called always (on success and error)
Result
The .then() promise function is receiving the following result object:
{
statusCode: 200, //the http statuc code
statusMessage: 'Ok', //the http status message,
headers: {}, //a object with all headers returned by the server,
body: '' // the body is a parsed JSON object if the server is sending application/json in the Content-Type header otherwise it is a string
}
Example
Here an example how you can send data to a server from the HM WebUI Javascript Plugin
//send data with a post request
hmwebui.callPluginFunction('hm-webui-httprequest.0','post','http://www.example.com/login','user=test&password=test').then(function(result){
//result is an object described above
}).fail(function(err){
//err is a string with a detailed error message
});
//send Object data with a post request
hmwebui.callPluginFunction('hm-webui-httprequest.0','post','http://www.example.com/login',{user: 'test', password: 'test'}).then(function(result){
//result is an object described above
}).fail(function(err){
//err is a string with a detailed error message
});
//send JSON data with a post request
hmwebui.callPluginFunction('hm-webui-httprequest.0','post','http://www.example.com/login',JSON.stringify({user: 'test', password: 'test'})).then(function(result){
//result is an object described above
}).fail(function(err){
//err is a string with a detailed error message
});
Changelog
0.0.4 (2017-01-22)
- add post function
0.0.3 (2016-11-25)
- small bugfix
0.0.2 (2016-11-18)
- small bugfix
0.0.1 (2016-10-15)
- initial version