Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork16.7k
Closed
Milestone
Description
I'm trying to add default headers to Flask's test client requests by overridingFlaskClient.open. When following redirects, the second request raises an error that anEnvironBuilder instance is being passed tourl_parse.
Expected Behavior
fromflaskimportFlask,redirect,url_forfromflask.testingimportFlaskClientapp=Flask(__name__)classCustomClient(FlaskClient):defopen(self,*args,**kwargs):kwargs["headers"]= {"Extra-Key":"extra value"}returnsuper().open(*args,**kwargs)@app.route("/")defhome():returnredirect(url_for("test"))@app.route("/test")deftest():return"Hello, World!"app.test_client_class=CustomClientc=app.test_client()rv=c.get("/",follow_redirects=True)print(rv.data)
Actual Behavior
Traceback (most recent call last): File"/home/david/Projects/flask/example.py", line21, in<module> rv= c.get("/",follow_redirects=True) File"/home/david/.virtualenvs/flask/lib/python3.8/site-packages/werkzeug/test.py", line1029, ingetreturnself.open(*args,**kw) File"/home/david/Projects/flask/example.py", line9, inopenreturnsuper().open(*args,**kwargs) File"/home/david/Projects/flask/src/flask/testing.py", line222, inopenreturn Client.open( File"/home/david/.virtualenvs/flask/lib/python3.8/site-packages/werkzeug/test.py", line1016, inopen environ, response=self.resolve_redirect( File"/home/david/.virtualenvs/flask/lib/python3.8/site-packages/werkzeug/test.py", line948, inresolve_redirectreturnself.open(builder,as_tuple=True,buffered=buffered) File"/home/david/Projects/flask/example.py", line9, inopenreturnsuper().open(*args,**kwargs) File"/home/david/Projects/flask/src/flask/testing.py", line215, inopen builder= EnvironBuilder(self.application,*args,**kwargs) File"/home/david/Projects/flask/src/flask/testing.py", line73, in__init__ url= url_parse(path) File"/home/david/.virtualenvs/flask/lib/python3.8/site-packages/werkzeug/urls.py", line457, inurl_parse i= url.find(s(":"))AttributeError:'EnvironBuilder' object has no attribute 'find'
Environment
- Python version: 3.6.9
- Flask version: 1.1.1
- Werkzeug version: 0.16.0
Metadata
Metadata
Assignees
Labels
No labels