Add a sample showing how to relay various REST requests.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1052433 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
74aef8947b
commit
f5f3443357
12 changed files with 299 additions and 1 deletions
|
|
@ -919,6 +919,7 @@ AC_CONFIG_FILES([Makefile
|
|||
samples/store-nosql/Makefile
|
||||
samples/store-vhost/Makefile
|
||||
samples/store-cluster/Makefile
|
||||
samples/relay-python/Makefile
|
||||
doc/Makefile
|
||||
doc/Doxyfile
|
||||
ubuntu/Makefile
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
SUBDIRS = store-scheme store-cpp store-python store-java store-gae store-sql store-nosql store-vhost store-cluster
|
||||
SUBDIRS = store-scheme store-cpp store-python store-java store-gae store-sql store-nosql store-vhost store-cluster relay-python
|
||||
|
||||
sample_DATA = README
|
||||
sampledir=$(prefix)/samples
|
||||
|
|
|
|||
25
sca-cpp/trunk/samples/relay-python/Makefile.am
Normal file
25
sca-cpp/trunk/samples/relay-python/Makefile.am
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
if WANT_PYTHON
|
||||
|
||||
dist_sample_SCRIPTS = start stop
|
||||
sampledir = $(prefix)/samples/relay-python
|
||||
|
||||
nobase_dist_sample_DATA = html.py json.py xml.py rss.py relay.composite htdocs/*.html htdocs/test/*.html
|
||||
|
||||
endif
|
||||
31
sca-cpp/trunk/samples/relay-python/htdocs/index.html
Normal file
31
sca-cpp/trunk/samples/relay-python/htdocs/index.html
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<!--
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
-->
|
||||
<html>
|
||||
<head>
|
||||
<title>Relay</title>
|
||||
<body>
|
||||
|
||||
<p><a href="/html">Sample HTML request</a></p>
|
||||
<p><a href="/jsontwit">Sample Twitter JSON request</a></p>
|
||||
<p><a href="/xmltwit">Sample Twitter XML request</a></p>
|
||||
<p><a href="/rsstwit">Sample Twitter RSS request</a></p>
|
||||
<p><a href="/jsonfb">Sample Facebook JSON request</a></p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
21
sca-cpp/trunk/samples/relay-python/htdocs/test/index.html
Normal file
21
sca-cpp/trunk/samples/relay-python/htdocs/test/index.html
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
|
||||
<html><body><h1>It works!</h1></body></html>
|
||||
|
||||
22
sca-cpp/trunk/samples/relay-python/html.py
Normal file
22
sca-cpp/trunk/samples/relay-python/html.py
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
# Content relay implementation
|
||||
def get(id, target):
|
||||
#return ("text/plain", ("It works!",))
|
||||
return target.get(id)
|
||||
|
||||
24
sca-cpp/trunk/samples/relay-python/json.py
Normal file
24
sca-cpp/trunk/samples/relay-python/json.py
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
# Relay implementation
|
||||
import uuid
|
||||
import sys
|
||||
|
||||
def get(id, target):
|
||||
return target.get(id)
|
||||
|
||||
75
sca-cpp/trunk/samples/relay-python/relay.composite
Normal file
75
sca-cpp/trunk/samples/relay-python/relay.composite
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
-->
|
||||
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
|
||||
xmlns:t="http://tuscany.apache.org/xmlns/sca/1.1"
|
||||
targetNamespace="http://relay"
|
||||
name="relay">
|
||||
|
||||
<component name="JSONTwit">
|
||||
<t:implementation.python script="json.py"/>
|
||||
<service name="Relay">
|
||||
<t:binding.http uri="jsontwit"/>
|
||||
</service>
|
||||
<reference name="target">
|
||||
<t:binding.http uri="http://api.twitter.com/1/statuses/user_timeline.json?screen_name=jsdelfino"/>
|
||||
</reference>
|
||||
</component>
|
||||
|
||||
<component name="XMLTwit">
|
||||
<t:implementation.python script="xml.py"/>
|
||||
<service name="Relay">
|
||||
<t:binding.http uri="xmltwit"/>
|
||||
</service>
|
||||
<reference name="target">
|
||||
<t:binding.http uri="http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=jsdelfino"/>
|
||||
</reference>
|
||||
</component>
|
||||
|
||||
<component name="RSSTwit">
|
||||
<t:implementation.python script="rss.py"/>
|
||||
<service name="Relay">
|
||||
<t:binding.http uri="rsstwit"/>
|
||||
</service>
|
||||
<reference name="target">
|
||||
<t:binding.http uri="http://api.twitter.com/1/statuses/user_timeline.rss?screen_name=jsdelfino"/>
|
||||
</reference>
|
||||
</component>
|
||||
|
||||
<component name="HTML">
|
||||
<t:implementation.python script="html.py"/>
|
||||
<service name="Relay">
|
||||
<t:binding.http uri="html"/>
|
||||
</service>
|
||||
<reference name="target">
|
||||
<t:binding.http uri="http://localhost:8090/test"/>
|
||||
</reference>
|
||||
</component>
|
||||
|
||||
<component name="JSONFB">
|
||||
<t:implementation.python script="json.py"/>
|
||||
<service name="Relay">
|
||||
<t:binding.http uri="jsonfb"/>
|
||||
</service>
|
||||
<reference name="target">
|
||||
<t:binding.http uri="https://graph.facebook.com/100001053301307"/>
|
||||
</reference>
|
||||
</component>
|
||||
|
||||
</composite>
|
||||
25
sca-cpp/trunk/samples/relay-python/rss.py
Normal file
25
sca-cpp/trunk/samples/relay-python/rss.py
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import sys
|
||||
|
||||
# Feed relay implementation
|
||||
def get(id, target):
|
||||
v = target.get(id)
|
||||
print >> sys.stderr, v
|
||||
return v
|
||||
|
||||
30
sca-cpp/trunk/samples/relay-python/start
Executable file
30
sca-cpp/trunk/samples/relay-python/start
Executable file
|
|
@ -0,0 +1,30 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
../../modules/http/httpd-conf tmp localhost 8090 htdocs
|
||||
../../modules/server/server-conf tmp
|
||||
../../modules/python/python-conf tmp
|
||||
cat >>tmp/conf/httpd.conf <<EOF
|
||||
# Configure SCA Composite
|
||||
SCAContribution `pwd`/
|
||||
SCAComposite relay.composite
|
||||
|
||||
EOF
|
||||
|
||||
../../modules/http/httpd-start tmp
|
||||
20
sca-cpp/trunk/samples/relay-python/stop
Executable file
20
sca-cpp/trunk/samples/relay-python/stop
Executable file
|
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
../../modules/http/httpd-stop tmp
|
||||
24
sca-cpp/trunk/samples/relay-python/xml.py
Normal file
24
sca-cpp/trunk/samples/relay-python/xml.py
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
# Relay implementation
|
||||
import uuid
|
||||
import sys
|
||||
|
||||
def get(id, target):
|
||||
return target.get(id)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue