{"action":"closed","issue":{"url":"https://api.github.com/repos/json-api/json-api/issues/308","labels_url":"https://api.github.com/repos/json-api/json-api/issues/308/labels{/name}","comments_url":"https://api.github.com/repos/json-api/json-api/issues/308/comments","events_url":"https://api.github.com/repos/json-api/json-api/issues/308/events","html_url":"https://github.com/json-api/json-api/issues/308","id":47677465,"number":308,"title":"Consider support for the WebDAV SEARCH verb (RFC 5323)","user":{"login":"politician","id":1149663,"avatar_url":"https://avatars.githubusercontent.com/u/1149663?v=3","gravatar_id":"","url":"https://api.github.com/users/politician","html_url":"https://github.com/politician","followers_url":"https://api.github.com/users/politician/followers","following_url":"https://api.github.com/users/politician/following{/other_user}","gists_url":"https://api.github.com/users/politician/gists{/gist_id}","starred_url":"https://api.github.com/users/politician/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/politician/subscriptions","organizations_url":"https://api.github.com/users/politician/orgs","repos_url":"https://api.github.com/users/politician/repos","events_url":"https://api.github.com/users/politician/events{/privacy}","received_events_url":"https://api.github.com/users/politician/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/json-api/json-api/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2014-11-04T04:44:35Z","updated_at":"2015-06-29T10:38:48Z","closed_at":"2015-06-29T10:38:47Z","body":"The GET verb is traditionally used for fetching a resource, a collection of resources, and a subset of a collection of resources where the constraints are typically expressed by query parameters. \r\n\r\nUnfortunately, when queries become complex (as in https://github.com/json-api/json-api/issues/204#issuecomment-37792372), the tendency is to invent new syntax for query parameters, or to abuse the POST verb.\r\n\r\n[RFC 5323](http://tools.ietf.org/html/rfc5323#section-2) defines a SEARCH verb to handle this case.\r\n\r\n> The client invokes the SEARCH method to initiate a server-side\r\n   search.  The body of the request defines the query.\r\n> ...\r\n> The SEARCH method plays the role of transport mechanism for the query\r\n   and the result set.  It does not define the semantics of the query.\r\n   The type of the query defines the semantics.\r\n> ...\r\n> SEARCH is a safe method; it does not have any significance other than\r\n   executing a query and returning a query result (see [RFC2616],\r\n   Section 9.1.1).\r\n\r\nHere we have an **idempotent** complex query operator that unfortunately lacks (a) attention, and (b) a JSON representation.\r\n\r\nIn the olden days, we were limited to GET and POST by the predominant web servers.  A JSON API spec could throw off those constraints.\r\n"}}