def do_POST(self):

        if self.auth_map != None:
            if self.headers.has_key('authorization') and self.headers[
                    'authorization'].startswith('Basic '):
                authenticationString = base64.b64decode(
                    self.headers['authorization'].split(' ')[1])
                if authenticationString.find(':') != -1:
                    username, password = authenticationString.split(':', 1)
                    self.logger.info('Got request from %s:%s' %
                                     (username, password))

                    if self.auth_map.has_key(username) and self.verifyPassword(
                            username, password):
                        return SimpleJSONRPCRequestHandler.do_POST(self)
                    else:
                        self.logger.error('Authentication failed for %s:%s' %
                                          (username, password))

            self.logger.error('Authentication failed')
            self.send_response(401)
            self.end_headers()
            return False

        return SimpleJSONRPCRequestHandler.do_POST(self)
예제 #2
0
 def do_POST(self):
     # pylint: disable=E1101
     if self.path == '/RPC2':
         SimpleJSONRPCRequestHandler.do_POST(self)
     else:
         __pychecker__ = 'no-classattr'
         SimpleHTTPRequestHandler.do_POST(self)
예제 #3
0
파일: pipeutils.py 프로젝트: aszeszo/test
        def setup(self):
                """Prepare to handle a request."""

                rv = SimpleRPCRequestHandler.setup(self)

                # StreamRequestHandler will have duped our PipeSocket via
                # makefile(), so close the connection socket here.
                self.connection.close()
                return rv
예제 #4
0
파일: pipeutils.py 프로젝트: jimklimov/pkg5
    def setup(self):
        """Prepare to handle a request."""

        rv = SimpleRPCRequestHandler.setup(self)

        # StreamRequestHandler will have duped our PipeSocket via
        # makefile(), so close the connection socket here.
        self.connection.close()
        return rv
예제 #5
0
    def do_POST(self):

        if self.auth_map != None:
            if self.headers.has_key('authorization') and self.headers['authorization'].startswith('Basic '):
                authenticationString = base64.b64decode(self.headers['authorization'].split(' ')[1])
                if authenticationString.find(':') != -1:
                    username, password = authenticationString.split(':', 1)
                    self.logger.info('Got request from %s:%s' % (username, password))

                    if self.auth_map.has_key(username) and self.verifyPassword(username, password):
                        return SimpleJSONRPCRequestHandler.do_POST(self)
                    else:
                        self.logger.error('Authentication failed for %s:%s' % (username, password))
            
            self.logger.error('Authentication failed')
            self.send_response(401)
            self.end_headers()
            return False

        return SimpleJSONRPCRequestHandler.do_POST(self)
예제 #6
0
 def parse_request(self):
     # first, call the original implementation which returns
     # True if all OK so far
     if SimpleJSONRPCRequestHandler.parse_request(self):
         try:
             self.server.authenticate(self.headers)
             return True
         except (RPCAuthCredentialsInvalid, RPCAuthCredentialsMissing,
                 RPCAuthUnsupportedType) as e:
             self.send_error(401, str(e))
         except BaseException as e:
             logging.exception("")
             self.send_error(500, str(e))
     return False
예제 #7
0
 def parse_request(myself):
     # first, call the original implementation which returns
     # True if all OK so far
     if SimpleJSONRPCRequestHandler.parse_request(myself):
         try:
             self.authenticate(myself.headers)
             return True
         except (RPCAuthCredentialsInvalid, RPCAuthCredentialsMissing,
                 RPCAuthUnsupportedType) as e:
             myself.send_error(401, str(e))
         except BaseException as e:
             import traceback, sys
             traceback.print_exc(file=sys.stderr)
             myself.send_error(500, str(e))
     return False
예제 #8
0
파일: jsonrpc.py 프로젝트: bauerj/electrum
 def parse_request(myself):
     # first, call the original implementation which returns
     # True if all OK so far
     if SimpleJSONRPCRequestHandler.parse_request(myself):
         try:
             self.authenticate(myself.headers)
             return True
         except (RPCAuthCredentialsInvalid, RPCAuthCredentialsMissing,
                 RPCAuthUnsupportedType) as e:
             myself.send_error(401, str(e))
         except BaseException as e:
             import traceback, sys
             traceback.print_exc(file=sys.stderr)
             myself.send_error(500, str(e))
     return False
예제 #9
0
 def parse_request(myself):
     # first, call the original implementation which returns
     # True if all OK so far
     if SimpleJSONRPCRequestHandler.parse_request(myself):
         # Do not authenticate OPTIONS-requests
         if myself.command.strip() == 'OPTIONS':
             return True
         try:
             self.authenticate(myself.headers)
             return True
         except (RPCAuthCredentialsInvalid, RPCAuthCredentialsMissing,
                 RPCAuthUnsupportedType) as e:
             myself.send_error(401, str(e))
         except BaseException as e:
             self.logger.exception('')
             myself.send_error(500, str(e))
     return False
예제 #10
0
파일: startup.py 프로젝트: sschepis/zebra
 def end_headers(self):
     self.send_header("Access-Control-Allow-Origin", "*")
     SimpleJSONRPCRequestHandler.end_headers(self)
예제 #11
0
 def end_headers(self):
     self.send_header("Access-Control-Allow-Origin", "*")
     SimpleJSONRPCRequestHandler.end_headers(self)
예제 #12
0
  def __init__(self, request, client_address, server):
    global rpc_instance
    rpc_instance.client_address, _ = client_address

    SimpleJSONRPCRequestHandler.__init__(self, request, client_address, server)
예제 #13
0
 def __init__(self, request, client_address, server, client_digest=None):
     self.logger = logging.getLogger(__name__)
     self.auth_map = server.auth_map
     SimpleJSONRPCRequestHandler.__init__(self, request, client_address, server)
     self.client_digest = client_digest
 def __init__(self, request, client_address, server, client_digest=None):
     self.logger = logging.getLogger(__name__)
     self.auth_map = server.auth_map
     SimpleJSONRPCRequestHandler.__init__(self, request, client_address,
                                          server)
     self.client_digest = client_digest
예제 #15
0
파일: jsonrpcd.py 프로젝트: yilab/fsq
 def finish(self):
     for sig in _MASKED_SIGS:
         signal.signal(sig, _SIG_HANDLERS[sig])
     if _deferred_sig:
         os.kill(os.getpid(), _deferred_sig)
     return handler.finish(self)
예제 #16
0
파일: jsonrpcd.py 프로젝트: yilab/fsq
 def handle(self):
     return handler.handle(self)
예제 #17
0
파일: jsonrpcd.py 프로젝트: yilab/fsq
 def setup(self):
     for sig in _MASKED_SIGS:
         signal.signal(sig, _defer_sig)
     return handler.setup(self)
예제 #18
0
	def do_POST(self):
		if self.client_address[0] not in allowed_ips:
			self.send_error(403,"Your address is not in allowed_ips")
			return
		SimpleJSONRPCRequestHandler.do_POST(self)
예제 #19
0
 def end_headers(self):
     self.send_header("Access-Control-Allow-Headers",
                      "Origin, X-Requested-With, Content-Type, Accept")
     self.send_header("Access-Control-Allow-Origin", "*")
     SimpleJSONRPCRequestHandler.end_headers(self)
예제 #20
0
 def finish(self):
     for sig in _MASKED_SIGS:
         signal.signal(sig, _SIG_HANDLERS[sig])
     if _deferred_sig:
         os.kill(os.getpid(), _deferred_sig)
     return handler.finish(self)
예제 #21
0
 def handle(self):
     return handler.handle(self)
예제 #22
0
 def setup(self):
     for sig in _MASKED_SIGS:
         signal.signal(sig, _defer_sig)
     return handler.setup(self)
예제 #23
0
 def end_headers(self):
     self.send_header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
     self.send_header("Access-Control-Allow-Origin", "*")  # "http://localhost:%d" % (server_address[1],))
     SimpleJSONRPCRequestHandler.end_headers(self)
예제 #24
0
 def end_headers(self):
     self.send_header("Access-Control-Allow-Headers",
                      "Origin, X-Requested-With, Content-Type, Accept")
     self.send_header("Access-Control-Allow-Origin", "*")
     SimpleJSONRPCRequestHandler.end_headers(self)
예제 #25
0
 def __init__(self, request, client_address, server):
     #print "init of request handler", request, time.ctime(), self.timeout
     SimpleJSONRPCRequestHandler.__init__(self, request, client_address, server)