def get_socket(self, sessid): """Returns a socket if the session exists (i.e. was handshaken) or None. """ socket = self.sockets.get(sessid) if (not socket) and self.is_handshaken(sessid): socket = Socket(sessid, self, self.config) self.sockets[sessid] = socket if socket: socket = self.load_socket(socket) return socket
def get_socket(self, sessid=''): """Return an existing or new client Socket.""" socket = self.sockets.get(sessid) if socket is None: socket = Socket(self, self.config) self.sockets[socket.sessid] = socket else: socket.incr_hits() return socket
def get_socket(self, sessid=''): """Return an existing or new client Socket.""" socket = self.sockets.get(sessid) if sessid and not socket: return None # you ask for a session that doesn't exist! if socket is None: socket = Socket(self, self.config) self.sockets[socket.sessid] = socket else: socket.incr_hits() return socket
def webhook(webhook_id, remaining=''): """Webhook callback requests this or when viewing a webhook""" has_data = len(request.args) or request.method != 'GET' or remaining post = formatted_json(request.form) if request.form else scalar_or_list( request.data) get = formatted_json(request.args) headers = formatted_json({k: v for k, v in request.headers.iteritems()}) files = formatted_json({ file_key: file.filename for file_key, file in request.files.iteritems() }) # Play sound effect if url is like http://webhookr.com/aBr3/loud or /loud/something/else/ sound_effect = app.config['VALID_SOUNDS'][0] for sound in app.config['VALID_SOUNDS']: sound_prefix = '{}/'.format(sound) if remaining == sound or remaining.startswith(sound_prefix): sound_effect = sound data = { "method": request.method, "ip": request.remote_addr, "host": request.headers.get('Host'), "length": request.headers.get('Content-Length'), "type": request.headers.get('Content-Type'), "post": post, "get": get, "files": files, "headers": headers, "path": remaining, "hasData": has_data, "soundEffect": sound_effect, } if has_data: # Little hack to communicate to server outside of a websocket request.environ['socketio'] = Socket(server=app.server) wns = WebhookNamespace(request.environ, '/webhooks', request) wns.emit_to_channel(webhook_id, 'new_request', data) return "Message Logged" context = { 'webhook_id': webhook_id, "full_path": url_for('webhook', webhook_id=webhook_id, _external=True) } return render_template('webhooks/webhook.html', **context)
def get_socket(self, sessid=''): """Return an existing or new client Socket.""" socket = self.sockets.get(sessid) # commenting this two lines fix https://github.com/abourget/gevent-socketio/issues/132 #if sessid and not socket: # return None # you ask for a session that doesn't exist! if socket is None: socket = Socket(self, self.config) self.sockets[socket.sessid] = socket else: socket.incr_hits() return socket
def setUp(self): self.server = MockSocketIOServer() self.virtsocket = Socket(self.server, {})
def setUp(self): self.server = MockSocketIOServer() sessid = '12345678' self.virtsocket = Socket(sessid, self.server.manager, {})