hm-webui-httprequest

0.0.4 • Public • Published

Logo

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 Object
String
yes the data to send to the server

A object is transferred to x-www-form-urlencoded form and the Content-Type header is set

If 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

Package Sidebar

Install

npm i hm-webui-httprequest

Weekly Downloads

4

Version

0.0.4

License

MIT

Last publish

Collaborators

  • paspat