def __init__(self, addr, logRequests=False, encoding=None, http_enc=True): self.logRequests = logRequests SimpleRPCDispatcher.__init__(self, encoding) requestHandler = _PipedHTTPRequestHandler if not http_enc: requestHandler = _PipedRequestHandler _PipedServer.__init__(self, addr, requestHandler, http_enc=http_enc)
def __init__(self, dispatch_method, encoding=None): """ Sets up the servlet """ SimpleJSONRPCDispatcher.__init__(self, encoding=encoding) # Register the system.* functions self.register_introspection_functions() # Make a link to the dispatch method self._dispatch_method = dispatch_method
def __init__(self, addr, logRequests=False, encoding=None, http_enc=True): self.logRequests = logRequests SimpleRPCDispatcher.__init__(self, encoding) requestHandler = _PipedHTTPRequestHandler if not http_enc: requestHandler = _PipedRequestHandler _PipedServer.__init__(self, addr, requestHandler)
def _dispatch(self, *args, **kwargs): """Check for unexpected server exceptions while handling a request.""" # pylint: disable=W0221 # Arguments differ from overridden method; response = SimpleRPCDispatcher._dispatch(self, *args, **kwargs) self.__check_for_server_errors(response) return response
def __init__(self, server_address, HandlerClass, logRequests=True): """Secure XML-RPC server. It it very similar to SimpleXMLRPCServer but it uses HTTPS for transporting XML data. """ self.logRequests = logRequests SimpleJSONRPCDispatcher.__init__(self) SocketServer.BaseServer.__init__(self, server_address, HandlerClass) self.socket = socket.socket(self.address_family, self.socket_type) #ctx = SSL.Context(SSL.SSLv23_METHOD) #ctx.use_privatekey_file (self.KEYFILE) #ctx.use_certificate_file(self.CERTFILE) #self.socket = SSL.Connection(ctx, socket.socket(self.address_family, # self.socket_type)) self.server_bind() self.server_activate()
def _marshaled_dispatch(self, *args, **kwargs): """Check for unexpected server exceptions while handling a request.""" # pylint: disable=W0221 # Arguments differ from overridden method; response = SimpleRPCDispatcher._marshaled_dispatch( self, *args, **kwargs) self.__check_for_server_errors(response) return response
from django.core.mail import send_mail from django.db.models import Q from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt from django.core.files.base import ContentFile import jsonrpclib import json import sys import os from ast import literal_eval sys.path.append( "/home/anshul/dev/python/Tractor-2.0/lib/python2.7/site-packages/") import tractor.api.query as tq dispatcherJson = SimpleJSONRPCDispatcher(encoding=None) # enable intospection, then map it to a different method, the system.listMethods call gets overwritten later dispatcherJson.register_introspection_functions() # Set true to log every rpc call to sentry LOG_RPC = False @csrf_exempt def jsonrpc_handler(request): if len(request.POST): response = HttpResponse(mimetype="application/json") response.write( dispatcherJson._marshaled_dispatch(request.raw_post_data)) else:
from django.http import HttpResponse import simplejson from django.contrib.auth.models import User from django.contrib.auth import authenticate from school.models import ProjectSingle, PreSubmit, PreSubmitEnterprise, Teacher_Enterprise from school.utility import create_newproject from adminStaff.models import ProjectPerLimits from const.models import ProjectOrigin, ProjectEnterpriseMaturity, ProjectEnterpriseOrigin, ProjectCategory, FinancialCategory from const import FINANCIAL_CATE_UN, STUDENT_USER from registration.models import RegistrationManager from base64 import b64decode as b64de from users.models import SchoolProfile, StudentProfile from backend.logging import logger, loginfo dispatcher = SimpleJSONRPCDispatcher(encoding=None) Global_Request = None ERROR_PROJ_EXIST = 1 ERROR_CANT_CREATE_USER = 2 ERROR_PROJ_SINGLE = 3 ERROR_PROJ_SUBMIT = 4 error_message = ['Success message', 'Project %s already exist!', "Can't create user for Project %s", 'Some attribute error, please ensure all attributes of the project %s is filled!', 'Some error about the presubmit of project %s'] @csrf_exempt def rpc_handler(request): global Global_Request Global_Request = request
def __init__(self, addr=("localhost", 8080)): self.logRequests = False SimpleJSONRPCDispatcher.__init__(self, encoding=None) TCPServer.__init__(self, addr, JRPCRequestHandler)
from django.http import HttpResponse import simplejson from django.contrib.auth.models import User from django.contrib.auth import authenticate from school.models import ProjectSingle, PreSubmit, PreSubmitEnterprise, Teacher_Enterprise from school.utility import create_newproject from adminStaff.models import ProjectPerLimits from const.models import ProjectOrigin, ProjectEnterpriseMaturity, ProjectEnterpriseOrigin, ProjectCategory, FinancialCategory from const import FINANCIAL_CATE_UN, STUDENT_USER from registration.models import RegistrationManager from base64 import b64decode as b64de from users.models import SchoolProfile, StudentProfile from backend.logging import logger, loginfo dispatcher = SimpleJSONRPCDispatcher(encoding=None) Global_Request = None ERROR_PROJ_EXIST = 1 ERROR_CANT_CREATE_USER = 2 ERROR_PROJ_SINGLE = 3 ERROR_PROJ_SUBMIT = 4 error_message = [ 'Success message', 'Project %s already exist!', "Can't create user for Project %s", 'Some attribute error, please ensure all attributes of the project %s is filled!', 'Some error about the presubmit of project %s' ] @csrf_exempt def rpc_handler(request):
# from pyasm.common import environment, config tactic_install_dir = tacticenv.get_install_dir() tactic_site_dir = tacticenv.get_site_dir() sys.path.insert(0, "%s/src" % tactic_install_dir) sys.path.insert(0, "%s/tactic_sites" % tactic_install_dir) sys.path.insert(0, tactic_site_dir) sys.path.insert(0, "%s/3rd_party/CherryPy" % tactic_install_dir) from client.tactic_client_lib import TacticServerStub server = TacticServerStub.get() # setup done dispatcherJson = SimpleJSONRPCDispatcher(encoding=None) # enable intospection, then map it to a different method, the system.listMethods call gets overwritten later dispatcherJson.register_introspection_functions() # Set true to log every rpc call to sentry LOG_RPC = False @csrf_exempt def jsonrpc_handler(request): if len(request.POST): response = HttpResponse(mimetype="application/json") response.write(dispatcherJson._marshaled_dispatch(request.raw_post_data)) else: return HttpResponse("No POST data, this url is for rpc calls only.")