diff --git a/OpenRTM_aist/ext/http/HTTPTransport.py b/OpenRTM_aist/ext/http/HTTPTransport.py new file mode 100644 index 00000000..0674d27d --- /dev/null +++ b/OpenRTM_aist/ext/http/HTTPTransport.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + + +## +# @file HTTPTransport.py +# @brief HTTP Transport module +# @date $Date: $ +# @author Nobuhiko Miyamoto + + +import os +from omniORB import httpTP +import OpenRTM_aist + + +def HTTPTransportInit(manager): + + #os.environ['ORBtraceLevel'] = '25' + #os.environ['ORBendPoint'] = 'giop:http:ws://127.0.0.1:2810/ws' + #os.environ['ORBsslVerifyMode'] = "none" + + prop = manager.getConfig() + certificate_authority_file = prop.getProperty( + "corba.http.certificate_authority_file") + key_file = prop.getProperty("corba.http.key_file") + key_file_password = prop.getProperty("corba.http.key_file_password") + + corba_args = prop.getProperty("corba.args") + + if not ("giop:http" in corba_args): + corba_args += " -ORBendPoint giop:http:ws://127.0.0.1:8001/ws" + + if not OpenRTM_aist.toBool(prop.getProperty( + "manager.is_master"), "YES", "NO", True): + if not prop.getProperty("corba.endpoints"): + if not prop.getProperty("corba.endpoint"): + if str(prop.getProperty("corba.args")).find( + "-ORBendPoint") == -1: + corba_args += " -ORBendPoint giop:tcp::" + + prop.setProperty("corba.args", corba_args) + + if certificate_authority_file: + httpTP.set_CA(certificate_authority_file, None) + if key_file or key_file_password: + httpTP.set_key(key_file, key_file_password) diff --git a/OpenRTM_aist/ext/http/__init__.py b/OpenRTM_aist/ext/http/__init__.py new file mode 100644 index 00000000..932b7982 --- /dev/null +++ b/OpenRTM_aist/ext/http/__init__.py @@ -0,0 +1 @@ +# Empty file diff --git a/OpenRTM_aist/ext/http/rtc.http.conf b/OpenRTM_aist/ext/http/rtc.http.conf new file mode 100644 index 00000000..38f71370 --- /dev/null +++ b/OpenRTM_aist/ext/http/rtc.http.conf @@ -0,0 +1,10 @@ +logger.enable: YES +logger.log_level: DEBUG +#logger.file_name: stdout + +manager.modules.load_path: ./ +manager.preload.modules: HTTPTransport.py + +corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:http:///call +corba.nameservers: http://127.0.0.1:2809/call +corba.master_manager: giop:http:http://127.0.0.1:2810/call diff --git a/OpenRTM_aist/ext/http/rtc.https.conf b/OpenRTM_aist/ext/http/rtc.https.conf new file mode 100644 index 00000000..fe9f59f2 --- /dev/null +++ b/OpenRTM_aist/ext/http/rtc.https.conf @@ -0,0 +1,14 @@ +logger.enable: YES +logger.log_level: DEBUG +#logger.file_name: stdout + +manager.modules.load_path: ./ +manager.preload.modules: HTTPTransport.py + +corba.http.certificate_authority_file:../ssl/test/root.crt +corba.http.key_file:../ssl/test/server.pem +corba.http.key_file_password:password + +corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:https:///call +corba.nameservers: https://127.0.0.1:2809/call +corba.master_manager: giop:http:https://127.0.0.1:2810/call diff --git a/OpenRTM_aist/ext/http/rtc.ws.conf b/OpenRTM_aist/ext/http/rtc.ws.conf new file mode 100644 index 00000000..93aac207 --- /dev/null +++ b/OpenRTM_aist/ext/http/rtc.ws.conf @@ -0,0 +1,10 @@ +logger.enable: YES +logger.log_level: DEBUG +#logger.file_name: stdout + +manager.modules.load_path: ./ +manager.preload.modules: HTTPTransport.py + +corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:ws:///ws +corba.nameservers: ws://127.0.0.1:2809/ws +corba.master_manager: giop:http:ws://127.0.0.1:2810/ws diff --git a/OpenRTM_aist/ext/http/rtc.wss.conf b/OpenRTM_aist/ext/http/rtc.wss.conf new file mode 100644 index 00000000..af38d952 --- /dev/null +++ b/OpenRTM_aist/ext/http/rtc.wss.conf @@ -0,0 +1,14 @@ +logger.enable: YES +logger.log_level: DEBUG +#logger.file_name: stdout + +manager.modules.load_path: ./ +manager.preload.modules: HTTPTransport.py + +corba.http.certificate_authority_file:../ssl/test/root.crt +corba.http.key_file:../ssl/test/server.pem +corba.http.key_file_password:password + +corba.args:-ORBserverTransportRule "* http" -ORBclientTransportRule "* http" -ORBendPoint giop:http:wss:///ws +corba.nameservers: wss://127.0.0.1:2809/ws +corba.master_manager: giop:http:wss://127.0.0.1:2810/ws diff --git a/setup.py b/setup.py index 82f54a46..75b67224 100755 --- a/setup.py +++ b/setup.py @@ -207,6 +207,7 @@ def os_is(): "OpenRTM_aist.ext.sdo", "OpenRTM_aist.ext.sdo.observer", "OpenRTM_aist.ext.ssl", + "OpenRTM_aist.ext.http", "OpenRTM_aist.ext.logger", "OpenRTM_aist.ext.logger.fluentlogger", "OpenRTM_aist.ext.transport",