def batch(): """ Execute multiple requests, submitted as a batch. """ responses = [] app = current_app data = request.stream.read() body = None content_type = request.environ["CONTENT_TYPE"] if not content_type.startswith("multipart/mixed"): abort(400) multi = parse_multi(content_type, data) for content_id, payload in multi: environ = werkzeug_raw.environ(payload) # ensure we only issue requests against the same host # as the original request environ.update({"SERVER_NAME": request.environ["SERVER_NAME"]}) environ.update({"SERVER_PORT": request.environ["SERVER_PORT"]}) environ.update({"HTTP_HOST": request.environ["HTTP_HOST"]}) # if we don't have content-length environ.update({"wsgi.input_terminated": 1}) with app.request_context(environ): try: rv = app.preprocess_request() if rv is None: rv = app.dispatch_request() except Exception as e: rv = app.handle_user_exception(e) response = app.make_response(rv) response = app.process_response(response) if content_id: response.headers.extend({"Content-ID": content_id}) responses.append(( response.status, response.headers, response.json )) headers, body = prepare_batch_response(responses) if body is None: abort(500) return body, 200, headers
def environs(self): return werkzeug_raw.environ(self._buffers)
util.setup_testing_defaults(env) env['wsgi.input'] = self.rfile return env #handler = FakeHandler(rfile=cStringIO.StringIO(input_string)) #environ = handler.getenv() import werkzeug_raw environ = werkzeug_raw.environ(input_string) print environ from werkzeug.wrappers import Request request = Request(environ) print 'request' , '-' * 10 print request.__dict__ print 'request' , '-' * 10 ''' import werkzeug_raw environ = werkzeug_raw.environ('GET /foo/bar?tequila=42 HTTP/1.1') environ = werkzeug_raw.environ(request_text) print wsgi_env
def test_invalid(self): for fn in os.listdir(INVALID_DIR): with open(os.path.join(INVALID_DIR, fn)) as f: with self.assertRaises(werkzeug_raw.BadRequestSyntax): werkzeug_raw.environ(f.read())
def test_valid(self): for fn in os.listdir(VALID_DIR): with open(os.path.join(VALID_DIR, fn)) as f: werkzeug_raw.environ(f.read())