annotate Resources/Samples/Lua/CallWebService.lua @ 1115:da56a7916e8a

Experimental "KeepAlive" configuration option to enable HTTP Keep-Alive
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 02 Sep 2014 17:30:13 +0200
parents 6f923d52a46c
children 65b1ce7cb84f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1055
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 -- This sample shows how to call a remote Web service whenever an
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 -- instance is received by Orthanc. For this sample to work, you have
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 -- to start the "CallWebService.js" script next to this file using
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 -- NodeJs.
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 -- Download and install the JSON module for Lua by Jeffrey Friedl
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 -- http://regex.info/blog/lua/json
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 JSON = (loadstring(HttpGet('http://regex.info/code/JSON.lua'))) ()
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 SetHttpCredentials('alice', 'alicePassword')
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 function OnStoredInstance(instanceId, tags, metadata)
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 -- Build the POST body
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 local info = {}
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 info['InstanceID'] = instanceId
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 info['PatientName'] = tags['PatientName']
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 info['PatientID'] = tags['PatientID']
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 -- Send the POST request
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 local answer = HttpPost('http://localhost:8000/', JSON:encode(info))
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 -- The answer equals "ERROR" in case of an error
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 print('Web service called, answer received: ' .. answer)
6f923d52a46c call Web services from Lua
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 end