nodepool/nodepool
Ian Wienand a668411978 webapp: fix browser return
This small match had a surprising number of issues...

Even though we're testing returning 'text/plain' when 'text/html' is
specified, it turns out the accept headers real browsers send actually
specify "*/*;q=0.8" which means that unmatched types will be given the
same, lower weight.

This means in the extant code, the best_match() for a normal browser
request (without 'text/plain') will think that 'application/json' and
'text/plain' are the same preference, and will take the first in the
list, which happens to be 'application/json'.  The result is that
*real* webrowsers are getting back json, when we wanted them to get a
human readable result.

Also, in the mean time webob has a new accept handling model, and
best_match() is deprecated anyway.  Update the requirements to the
latest WebOb (new handling was added in 1.8.0, 1.8.1 is a bugfix)

So now we use the new API, and list 'text/html' as an acceptable
offer, which ensures it will be chosen if a browser is requesting
things.  It still returns a text/plain table.

A check for this is added to the test suite.  Also a bug with setting
the headers after the request is fixed, which went unnoticed because
of the prior default behaviour.

Change-Id: I84094ca67b16ce9246507aa0010646ffc3e9dbff
2018-06-07 18:47:06 +10:00
..
cmd Merge "Consolidate node_list, add generic filter" 2018-03-09 15:27:17 +00:00
driver Have Drivers create Providers 2018-06-06 14:57:40 -04:00
tests webapp: fix browser return 2018-06-07 18:47:06 +10:00
__init__.py Initial commit 2013-08-15 09:47:23 -07:00
builder.py Make manage_images a property of ProviderConfig 2018-05-09 11:35:36 -04:00
config.py Merge "Fix adding qcow2 format without need" 2018-06-06 21:18:02 +00:00
exceptions.py Don't gather host keys for non ssh connections 2018-04-03 17:31:45 +02:00
launcher.py Directly link providers and request handlers 2018-06-04 11:53:44 -04:00
logconfig.py Add default logging configuration 2018-02-07 15:49:19 -08:00
nodeutils.py Add connection-port to provider diskimage 2018-04-03 17:48:52 +02:00
provider_manager.py Have Drivers create Providers 2018-06-06 14:57:40 -04:00
stats.py Refactor NodeLauncher to be generic 2018-04-19 02:23:42 +00:00
status.py Add label-list webapp endpoint 2018-03-01 11:14:03 +11:00
task_manager.py Remove use of six 2018-05-08 09:50:59 +10:00
version.py Fix nodepool --version 2015-02-06 12:09:52 -08:00
webapp.py webapp: fix browser return 2018-06-07 18:47:06 +10:00
zk.py Add multilabel support to ZooKeeper Node model 2018-05-24 14:37:34 -04:00