{"html_url": "https://github.com/simonw/datasette/issues/1551#issuecomment-991960179", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1551", "id": 991960179, "node_id": "IC_kwDOBm6k_c47IBxz", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-12-12T19:54:45Z", "updated_at": "2021-12-12T19:54:45Z", "author_association": "OWNER", "body": "This is technically a backwards-incompatible for any plugins that use `request.args` - but it's unlikely to break anything. At any rate this needs to happen before Datasette 1.0!", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1077893013, "label": "`keep_blank_values=True` when parsing `request.args`"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1551#issuecomment-991960416", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1551", "id": 991960416, "node_id": "IC_kwDOBm6k_c47IB1g", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-12-12T19:56:12Z", "updated_at": "2021-12-12T19:56:12Z", "author_association": "OWNER", "body": "Python documentation for `parse_qs`: https://docs.python.org/3/library/urllib.parse.html#urllib.parse.parse_qs\r\n\r\n> The optional argument *keep_blank_values* is a flag indicating whether blank values in percent-encoded queries should be treated as blank strings. A true value indicates that blanks should be retained as blank strings. The default false value indicates that blank values are to be ignored and treated as if they were not included.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1077893013, "label": "`keep_blank_values=True` when parsing `request.args`"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/1551#issuecomment-991960719", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/1551", "id": 991960719, "node_id": "IC_kwDOBm6k_c47IB6P", "user": {"value": 9599, "label": "simonw"}, "created_at": "2021-12-12T19:58:17Z", "updated_at": "2021-12-12T19:58:17Z", "author_association": "OWNER", "body": "Here's an example of the difference that causes:\r\n```pycon\r\n>>> import urllib.parse\r\n>>> urllib.parse.parse_qs(\"foo=bar\")\r\n{'foo': ['bar']}\r\n>>> urllib.parse.parse_qs(\"foo=bar&baz=\")\r\n{'foo': ['bar']}\r\n>>> urllib.parse.parse_qs(\"foo=bar&baz=\", keep_blank_values=True)\r\n{'foo': ['bar'], 'baz': ['']}\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 1077893013, "label": "`keep_blank_values=True` when parsing `request.args`"}, "performed_via_github_app": null}