-
Notifications
You must be signed in to change notification settings - Fork 5
/
HTTPRequestExamples.js
85 lines (69 loc) · 2.69 KB
/
HTTPRequestExamples.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/**
* Copyright (c) 2018 by Helmut Lehmeyer.
*
* @author Helmut Lehmeyer
*/
'use strict';
load(Java.type("java.lang.System").getenv("OPENHAB_CONF")+'/automation/jsr223/jslib/JSRule.js');
var me = "HTTPRequestExamples.js";
logInfo("################# "+me+" ##################");
JSRule({
name: me+" NativeHTTPRequestExamples",
description: "Native HTTPRequestExamples L:"+__LINE__,
triggers: [
//TimerTrigger("0/15 * * * * ?")
],
execute: function( module, input){
logInfo("################ "+me+" Line: "+__LINE__+" #################");
var url = "http://demo.openhab.org:8080/rest/";
var timeout = 5000;
// Native Java
var HttpUtilNativ = Java.type("org.eclipse.smarthome.io.net.http.HttpUtil");
var results = HttpUtilNativ.executeUrl("GET", url, timeout);
logInfo("results GET: ", results);
results = HttpUtilNativ.executeUrl("PUT", url, timeout);
logInfo("results PUT: ", results);
results = HttpUtilNativ.executeUrl("POST", url, timeout);
logInfo("results POST: ", results);
}
});
JSRule({
name: me+" XMLHttpRequestJavaScript",
description: "XMLHttpRequest Native JavaScript L:"+__LINE__,
triggers: [
//TimerTrigger("0/15 * * * * ?")
],
execute: function( module, input){
logInfo("################ "+me+" Line: "+__LINE__+" #################");
var url = "http://demo.openhab.org:8080/rest/";
var timeout = 5000;
// Native JavaScript
// global JavaScript functions such as setTimeout, setInterval or XMLHttpRequest do not exist in Nashorn.
// https://blog.codecentric.de/en/2014/06/project-nashorn-javascript-jvm-polyglott/
}
});
JSRule({
name: me+" HTTPRequestExamples",
description: "HTTPRequestExamples L:"+__LINE__,
triggers: [
//TimerTrigger("0/15 * * * * ?")
],
execute: function( module, input){
logInfo("################ "+me+" Line: "+__LINE__+" #################");
var url = "http://demo.openhab.org:8080/rest/";
var timeout = 5000;
// Library
var results = sendHttpGetRequest(url, timeout);
logInfo("results sendHttpGetRequest: ", results);
results = sendHttpPutRequest(url, timeout);
logInfo("results sendHttpPutRequest: ", results);
results = sendHttpPostRequest(url, timeout);
logInfo("results sendHttpPostRequest: ", results);
results = sendHttpDeleteRequest(url, timeout);
logInfo("results sendHttpDeleteRequest: ", results);
// Library executeUrlWithContent( httpMethod, url, httpHeaders, content, contentType, timeout)
var header = "application/x-www-form-urlencoded; charset=UTF-8";
var results = executeUrlWithContent("POST", url, null, "", header, timeout);
logInfo("results executeUrlWithContent: ", results);
}
});