When accessing almost all URLs in my own resultsdb instance I get the following:-
[_internal.py:87] 2014-09-26 16:14:27 INFO 127.0.0.1 - - [26/Sep/2014 16:14:27] "GET /api/v1.0/jobs HTTP/1.1" 500 - Traceback (most recent call last): File "/home/somebody/dev/resultsdb/resultsdb/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__ return self.wsgi_app(environ, start_response) File "/home/somebody/dev/resultsdb/resultsdb/proxy.py", line 59, in __call__ return self.app(environ, start_response) File "/home/somebody/dev/resultsdb/resultsdb/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app response = self.make_response(self.handle_exception(e)) File "/home/somebody/dev/resultsdb/resultsdb/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception reraise(exc_type, exc_value, tb) File "/home/somebody/dev/resultsdb/resultsdb/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app response = self.full_dispatch_request() File "/home/somebody/dev/resultsdb/resultsdb/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request rv = self.handle_user_exception(e) File "/home/somebody/dev/resultsdb/resultsdb/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception reraise(exc_type, exc_value, tb) File "/home/somebody/dev/resultsdb/resultsdb/lib/python2.7/site-packages/flask/app.py", line 1475, in full_dispatch_request rv = self.dispatch_request() File "/home/somebody/dev/resultsdb/resultsdb/lib/python2.7/site-packages/flask/app.py", line 1461, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/home/somebody/dev/resultsdb/resultsdb/controllers/api_v1.py", line 279, in get_jobs return jsonify(results) File "/home/somebody/dev/resultsdb/resultsdb/__init__.py", line 48, in jsonify_with_jsonp callback = flask.request.args.pop('callback') File "/home/somebody/dev/resultsdb/resultsdb/lib/python2.7/site-packages/werkzeug/datastructures.py", line 172, in pop is_immutable(self) File "/home/somebody/dev/resultsdb/resultsdb/lib/python2.7/site-packages/werkzeug/datastructures.py", line 28, in is_immutable raise TypeError('%r objects are immutable' % self.__class__.__name__) TypeError: 'ImmutableMultiDict' objects are immutable
It originates from resultsdb.init.py:46
callback = flask.request.args.pop('callback')
args is an [[http://werkzeug.pocoo.org/docs/0.9/wrappers/#mutability-and-reusability-of-wrappers | immutable type ]], or by default it is at least. Perhaps I've missed a setting somewhere.
Anyway, changing that to a 'get' is easy enough, as well as commenting out the call further down that supposedly deals with jquery caching.
Branch is devel and Flask version is 0.10.1
This ticket had assigned some Differential requests: D236
I just submitted D236 which should address this.
This is related to #329.
Solved in D236