)]}'
{"id":"openstack%2Fpython-swiftclient~285514","triplet_id":"openstack%2Fpython-swiftclient~master~Ie57a93274507b184af5cad4260f244359a585f09","project":"openstack/python-swiftclient","branch":"master","hashtags":[],"change_id":"Ie57a93274507b184af5cad4260f244359a585f09","subject":"Force header keys/values to bytes/unicode before coercing to unicode","status":"MERGED","created":"2016-02-26 19:36:57.000000000","updated":"2016-02-27 01:44:38.000000000","submitted":"2016-02-27 01:44:38.000000000","submitter":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"cedd10ba2e74c641a77e8c79c0f8a5f5c68870f6","_number":285514,"virtual_id_number":285514,"owner":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":2,"date":"2016-02-27 01:44:38.000000000","post_submit":true,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":2,"date":"2016-02-26 20:26:10.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},{"value":2,"date":"2016-02-26 19:50:12.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"all":[{"value":0,"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":1,"date":"2016-02-26 20:26:10.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},{"value":0,"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2016-02-26 19:50:12.000000000","updated_by":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"reviewer":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"state":"REVIEWER"},{"updated":"2016-02-26 20:26:10.000000000","updated_by":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"reviewer":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"state":"REVIEWER"},{"updated":"2016-02-27 01:44:38.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"}],"messages":[{"id":"64dd4b742d2d02bd26f4e830e95cefa471e2b191","author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"date":"2016-02-26 19:36:57.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"1ddd49c6f0204f081c32fa2c9f1b95dc418e8903","author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"date":"2016-02-26 19:50:12.000000000","message":"Patch Set 1: Code-Review+2","accounts_in_message":[],"_revision_number":1},{"id":"eed593a0dd4cd8847b13edf578aa2c288aa1e624","author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"date":"2016-02-26 20:26:10.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"8cdfe4fcbb7a23d3d13a131cdceb0288a20c4d52","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-27 00:06:02.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/14/285514/1/check/gate-python-swiftclient-pep8/b473541/ : SUCCESS in 1m 15s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/14/285514/1/check/gate-python-swiftclient-docs/0c022e8//doc/build/html/ : SUCCESS in 32s\n- gate-python-swiftclient-python27 http://logs.openstack.org/14/285514/1/check/gate-python-swiftclient-python27/2a79ba2/ : SUCCESS in 55s\n- gate-python-swiftclient-python34 http://logs.openstack.org/14/285514/1/check/gate-python-swiftclient-python34/3b00b11/ : SUCCESS in 2m 04s\n- gate-python-swiftclient-pypy http://logs.openstack.org/14/285514/1/check/gate-python-swiftclient-pypy/5805e11/ : SUCCESS in 1m 27s (non-voting)\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/14/285514/1/check/gate-tempest-dsvm-neutron-src-python-swiftclient/a54726e/ : SUCCESS in 1h 52m 00s\n- gate-swift-dsvm-functional http://logs.openstack.org/14/285514/1/check/gate-swift-dsvm-functional/7e03125/ : SUCCESS in 37m 36s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/14/285514/1/check/gate-swiftclient-dsvm-functional/2fafaee/ : SUCCESS in 22m 51s","accounts_in_message":[],"_revision_number":1},{"id":"f53eef3405cbac450fadd38ccd5eb48866a9fc60","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-27 00:06:07.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":1},{"id":"70cb30bcac59046a9aead88e4a27dd4f187081f5","date":"2016-02-27 01:44:38.000000000","message":"Change has been successfully merged into the git repository by Jenkins","accounts_in_message":[],"_revision_number":1},{"id":"cedd10ba2e74c641a77e8c79c0f8a5f5c68870f6","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2016-02-27 01:44:38.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/14/285514/1/gate/gate-python-swiftclient-docs/6684adc//doc/build/html/ : SUCCESS in 47s\n- gate-python-swiftclient-pep8 http://logs.openstack.org/14/285514/1/gate/gate-python-swiftclient-pep8/b4dac78/ : SUCCESS in 43s\n- gate-python-swiftclient-python27 http://logs.openstack.org/14/285514/1/gate/gate-python-swiftclient-python27/447b4c6/ : SUCCESS in 46s\n- gate-python-swiftclient-python34 http://logs.openstack.org/14/285514/1/gate/gate-python-swiftclient-python34/12f5a02/ : SUCCESS in 1m 49s\n- gate-tempest-dsvm-neutron-src-python-swiftclient http://logs.openstack.org/14/285514/1/gate/gate-tempest-dsvm-neutron-src-python-swiftclient/ee9b5fe/ : SUCCESS in 52m 15s\n- gate-swift-dsvm-functional http://logs.openstack.org/14/285514/1/gate/gate-swift-dsvm-functional/25ead7d/ : SUCCESS in 27m 20s\n- gate-swiftclient-dsvm-functional http://logs.openstack.org/14/285514/1/gate/gate-swiftclient-dsvm-functional/f0f60ec/ : SUCCESS in 19m 15s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"aa0edd00966237163451fc44cda2c593a5215cbe","revisions":{"aa0edd00966237163451fc44cda2c593a5215cbe":{"kind":"REWORK","_number":1,"created":"2016-02-26 19:36:57.000000000","uploader":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"ref":"refs/changes/14/285514/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/14/285514/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/14/285514/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/14/285514/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/14/285514/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/14/285514/1"}}},"commit":{"parents":[{"commit":"ee905477ac6fad7c43e875d7e52b22a494ef3d6f","subject":"Merge \"Follow-up to patch 282363\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/ee905477ac6fad7c43e875d7e52b22a494ef3d6f"}]}],"author":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-02-26 19:25:10.000000000","tz":-480},"committer":{"name":"Tim Burke","email":"tim.burke@gmail.com","date":"2016-02-26 19:25:10.000000000","tz":-480},"subject":"Force header keys/values to bytes/unicode before coercing to unicode","message":"Force header keys/values to bytes/unicode before coercing to unicode\n\nPreviously, parse_header_string was only called with data coming out of\nrequests, which would be either bytes or unicode. Now that we\u0027re sending\nit request headers as well (see related change), we need to be more\ndefensive.\n\nIf the value given is neither bytes nor unicode, convert it to a native\nstring. This will allow developers using the client API to continue\nsending header dicts like\n\n  {\u0027X-Delete-After\u0027: 2}\n\n...as in Swift\u0027s test/probe/test_object_expirer.py\n\nChange-Id: Ie57a93274507b184af5cad4260f244359a585f09\nRelated-Change: I43dd7254f7281d4db59b286aa2145643c64e1705\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/aa0edd00966237163451fc44cda2c593a5215cbe"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/aa0edd00966237163451fc44cda2c593a5215cbe"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
