Issue #12375 has been updated by Yui NARUSE.

Status changed from Open to Assigned
Assignee changed from Yui NARUSE to Shugo Maeda

Agreed about Net::HTTP.post shouldn't support post(hostname, path, port) form because there's no reason to support to use HTTP.

Could you commit it?

----------------------------------------
Feature #12375: Net::HTTP.post
https://bugs.ruby-lang.org/issues/12375#change-61312

* Author: Shugo Maeda
* Status: Assigned
* Priority: Normal
* Assignee: Shugo Maeda
----------------------------------------
Net::HTTP.post_form is convenient, but it's dedicated to application/x-www-form-urlencoded.
Why not provide Net::HTTP.post for other media types?

```
res = Net::HTTP.post(URI('http://www.example.com/api/search'),
                     { "q" => "ruby", "max" => "50" }.to_json,
                     "Content-Type" => "application/json")
```

I've attached a patch, but there are some considerations:

* Net::HTTP.post_form supports basic authentication by userinfo in URLs,
  but Net::HTTP.post doesn't, because it's deprecated by RFC3986.
  Is it OK?
* The first argument must be a URI object, but it might be better to accept a String.
* Should methods for other HTTP methods such as Net::HTTP.patch be added?


---Files--------------------------------
net_http_s_post.diff (1.76 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>