summaryrefslogtreecommitdiffstats
path: root/test/uscxml/test-http-servlet.scxml
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-04-22 14:02:03 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2014-04-22 14:02:03 (GMT)
commit1fb6bcf30f954e426f2d3002d14887574fb941dd (patch)
tree08cff7f2b879c50efe79e3c04d255075522af862 /test/uscxml/test-http-servlet.scxml
parent71c334bf4e35559496feac3f3cf00b72ceb88812 (diff)
downloaduscxml-1fb6bcf30f954e426f2d3002d14887574fb941dd.zip
uscxml-1fb6bcf30f954e426f2d3002d14887574fb941dd.tar.gz
uscxml-1fb6bcf30f954e426f2d3002d14887574fb941dd.tar.bz2
Major refactoring
- Moved tests - Changes to promela datamodel - Implemented Trie
Diffstat (limited to 'test/uscxml/test-http-servlet.scxml')
-rw-r--r--test/uscxml/test-http-servlet.scxml41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/uscxml/test-http-servlet.scxml b/test/uscxml/test-http-servlet.scxml
new file mode 100644
index 0000000..8836b76
--- /dev/null
+++ b/test/uscxml/test-http-servlet.scxml
@@ -0,0 +1,41 @@
+<scxml datamodel="ecmascript">
+ <script src="http://uscxml.tk.informatik.tu-darmstadt.de/scripts/dump.js" />
+ <state id="start">
+ <!--
+ I went for explicit invokers instead of a response element in executable content
+ as it provides better control on the path where to serve data.
+ -->
+ <invoke type="httpserver" id="servlet.data">
+ <!-- server path where to listen -->
+ <param name="path" expr="'data'" />
+ <!-- the name of events originating from requests at this url -->
+ <param name="callback" expr="'http.data'" />
+ </invoke>
+ <invoke type="httpserver" id="servlet.exit">
+ <param name="path" expr="'exit'" />
+ <param name="callback" expr="'http.exit'" />
+ </invoke>
+ <state id="loop">
+ <transition event="http.data" target="loop">
+ <script>
+ dump(_event);
+ </script>
+ <!-- Sending a http reply is to send the invoker id a "reply.<requestId>" event -->
+ <send target="#_servlet.data" eventexpr="'reply.' + _event.data.reqId">
+ <!-- This will end up as a header field -->
+ <param name="Foo" expr="_ioprocessors" />
+ <!-- JSON string in the content -->
+ <content expr="_ioprocessors" />
+ </send>
+ </transition>
+ <transition event="http.exit" target="final">
+ <script>
+ dump(_event);
+ </script>
+ <!-- This will never get delivered as we terminate before -->
+ <send target="#_servlet.exit" eventexpr="'reply.' + _event.data.reqId" />
+ </transition>
+ </state>
+ </state>
+ <final id="final" />
+</scxml> \ No newline at end of file