[ruby-core:77979] [Ruby trunk Feature#12375][Assigned] Net::HTTP.post

From: naruse@...
Date: 2016-11-05 14:19:29 UTC
List: ruby-core #77979
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:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next