def _setup_sock(self, response): self.csrf = None self.user_id = None self.logged_in = False self.waiting_bet_result = False self.last_bet = None self.house_edge = 1 # % self.waiting_seed = False origin = BASE_URL self.sock = SocketIO(BASE_DOMAIN, origin, response, secure=True) self.sock.on('init', self.on_init) self.sock.on('set_hash', self.on_set_hash) self.sock.on('reload', self.on_reload) self.sock.on('result', self.on_result) self.sock.on('login_error', self.on_login_error) self.sock.on('jderror', self.on_jderror) self.sock.on('new_client_seed', self.on_new_seed) self.sock.on('invest', self.on_invest) self.sock.on('invest_error', self.on_invest_error) self.sock.on('divest_error', self.on_divest_error) self.sock.on('balance', self.on_balance) self.sock.on('chat', self.on_chat)
def handle(self): self.handler = MyHTTPHandler(WEB_ROOT) self.sio = SocketIO(self.request) try: req = Request.read_from(self.SocketIterator(self.sio)) if LOG_REQUESTS: print(('{}:{} {} {}').format( self.client_address[0], self.client_address[1], req.method, req.path), file=sys.stderr) resp = self.handler.handle_request(req) except myhttp.ParseError: resp = Response(Response.BAD_REQUEST) except self.ClientDisconnected: # nothing to do, really return except: # Try to send a valid response even if something went wrong if LOG_REQUESTS: print('500 Internal Server Error', file=sys.stderr) self.sio.write(b'HTTP/1.1 500 Internal Server Error\r\n') raise # Attach required header resp.attach_header('Connection', 'close') # send self._send_response(resp)