def _build_wsgi_request_data(request): request_data = { 'url': wsgiref.util.request_uri(request), 'user_ip': _wsgi_extract_user_ip(request), 'method': request.get('REQUEST_METHOD'), } if 'QUERY_STRING' in request: request_data['GET'] = urlparse.parse_qs(request['QUERY_STRING'], keep_blank_values=True) # Collapse single item arrays request_data['GET'] = dict((k, v[0] if len(v) == 1 else v) for k, v in request_data['GET'].items()) request_data['headers'] = _extract_wsgi_headers(request.items()) try: length = int(request.get('CONTENT_LENGTH', 0)) except ValueError: length = 0 input = request.get('wsgi.input') if length and input and hasattr(input, 'seek') and hasattr(input, 'tell'): pos = input.tell() input.seek(0, 0) request_data['body'] = input.read(length) input.seek(pos, 0) return request_data
def _build_wsgi_request_data(request): request_data = { 'url': wsgiref.util.request_uri(request), 'user_ip': _wsgi_extract_user_ip(request), 'method': request.get('REQUEST_METHOD'), } if 'QUERY_STRING' in request: request_data['GET'] = parse_qs(request['QUERY_STRING'], keep_blank_values=True) # Collapse single item arrays request_data['GET'] = dict((k, v[0] if len(v) == 1 else v) for k, v in request_data['GET'].items()) request_data['headers'] = _extract_wsgi_headers(request.items()) try: length = int(request.get('CONTENT_LENGTH', 0)) except ValueError: length = 0 input = request.get('wsgi.input') if length and input and hasattr(input, 'seek') and hasattr(input, 'tell'): pos = input.tell() input.seek(0, 0) request_data['body'] = input.read(length) input.seek(pos, 0) return request_data
def queryCheck(request): """Checks requests made to the server, and only accept the ones that a recognized""" recognized_req = [ 'keywords', 'image_keywords', 'video_keywords', 'page', 'math' ] for key, value in request.items(): if not key in recognized_req: return False return True