Gracefully report backend failure to connect
This commit is contained in:
		
							
								
								
									
										4
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								main.py
									
									
									
									
									
								
							@@ -53,6 +53,7 @@ def application():
 | 
				
			|||||||
	@app.post('/v1/vista')
 | 
						@app.post('/v1/vista')
 | 
				
			||||||
	def cb_connect():
 | 
						def cb_connect():
 | 
				
			||||||
		params = request.json['params']
 | 
							params = request.json['params']
 | 
				
			||||||
 | 
							try:
 | 
				
			||||||
			if params.get('secret') == secret:
 | 
								if params.get('secret') == secret:
 | 
				
			||||||
				cid = ''.join(secrets.choice(string.ascii_lowercase + string.digits) for i in range(64))
 | 
									cid = ''.join(secrets.choice(string.ascii_lowercase + string.digits) for i in range(64))
 | 
				
			||||||
				while cid in clients:
 | 
									while cid in clients:
 | 
				
			||||||
@@ -61,6 +62,9 @@ def application():
 | 
				
			|||||||
				return jsonify({ 'result': cid, 'error': None, 'id': request.json.get('id') })
 | 
									return jsonify({ 'result': cid, 'error': None, 'id': request.json.get('id') })
 | 
				
			||||||
			else:
 | 
								else:
 | 
				
			||||||
				return jsonify({ 'result': None, 'error': { 'type': 'Unauthorized', 'args': [] }, 'id': request.json.get('id') })
 | 
									return jsonify({ 'result': None, 'error': { 'type': 'Unauthorized', 'args': [] }, 'id': request.json.get('id') })
 | 
				
			||||||
 | 
							except Exception as ex:
 | 
				
			||||||
 | 
								logger.exception(request.url)
 | 
				
			||||||
 | 
								return jsonify({ 'result': None, 'error': { 'type': ex.__class__.__name__, 'args': ex.args }, 'id': request.json.get('id') })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@app.post('/v1/vista/<cid>/close')
 | 
						@app.post('/v1/vista/<cid>/close')
 | 
				
			||||||
	def cb_close(cid):
 | 
						def cb_close(cid):
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user