{"action":"opened","issue":{"url":"https://api.github.com/repos/rapidoid/rapidoid/issues/80","repository_url":"https://api.github.com/repos/rapidoid/rapidoid","labels_url":"https://api.github.com/repos/rapidoid/rapidoid/issues/80/labels{/name}","comments_url":"https://api.github.com/repos/rapidoid/rapidoid/issues/80/comments","events_url":"https://api.github.com/repos/rapidoid/rapidoid/issues/80/events","html_url":"https://github.com/rapidoid/rapidoid/issues/80","id":165850019,"number":80,"title":"Make optional the merge json body into data","user":{"login":"elaatifi","id":1386020,"avatar_url":"https://avatars.githubusercontent.com/u/1386020?v=3","gravatar_id":"","url":"https://api.github.com/users/elaatifi","html_url":"https://github.com/elaatifi","followers_url":"https://api.github.com/users/elaatifi/followers","following_url":"https://api.github.com/users/elaatifi/following{/other_user}","gists_url":"https://api.github.com/users/elaatifi/gists{/gist_id}","starred_url":"https://api.github.com/users/elaatifi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elaatifi/subscriptions","organizations_url":"https://api.github.com/users/elaatifi/orgs","repos_url":"https://api.github.com/users/elaatifi/repos","events_url":"https://api.github.com/users/elaatifi/events{/privacy}","received_events_url":"https://api.github.com/users/elaatifi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-07-15T18:30:23Z","updated_at":"2016-07-15T18:30:23Z","closed_at":null,"body":"First of all thanks for making this server.\r\n\r\nfrom HttpParser.parsePosted\r\n```        \r\npublic void parsePosted(Buf input, KeyValueRanges headersKV, BufRange rBody, KeyValueRanges posted,\r\n\t                        Map<String, List<Upload>> files, RapidoidHelper helper, Map<String, Object> dest) {\r\n\r\n\t\tboolean completed = parseBody(input, headersKV, rBody, posted, files, helper);\r\n\r\n\t\tposted.toUrlEncodedParams(input, dest);\r\n\r\n\t\tif (!completed && !rBody.isEmpty()) {\r\n\t\t\ttry {\r\n\t\t\t\tMap<String, Object> jsonData = JSON.parse(input.get(rBody), Map.class);\r\n\t\t\t\tif (jsonData != null) {\r\n\t\t\t\t\tdest.putAll(jsonData);\r\n\t\t\t\t}\r\n\t\t\t} catch (Exception e) {\r\n\t\t\t\tLog.warn(\"The attempt to parse the request body as JSON failed. Please specify the correct content type in the request header!\", e);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n```\r\nCan we make it configurable if we want to bypass this part, and control how JSON will be parsed. it does not have sense to parse it twice. for example there is the simple case when we want to parse JSON as a custom type.\r\n_I'm forced right now to use unknown content type in client request to skip this part (to force completed to be true) which is ugly :)_"}}
{"actor":{"display_login":"elaatifi"}}