Method: Gem::Net::HTTP.post

Defined in:
lib/rubygems/vendor/net-http/lib/net/http.rb

.post(url, data, header = nil) ⇒ Object

Posts data to a host; returns a Gem::Net::HTTPResponse object.

Argument url must be a URL; argument data must be a string:

_uri = uri.dup
_uri.path = '/posts'
data = '{"title": "foo", "body": "bar", "userId": 1}'
headers = {'content-type': 'application/json'}
res = Gem::Net::HTTP.post(_uri, data, headers) # => #<Gem::Net::HTTPCreated 201 Created readbody=true>
puts res.body

Output:

{
  "title": "foo",
  "body": "bar",
  "userId": 1,
  "id": 101
}

Related:

  • Gem::Net::HTTP::Post: request class for HTTP method POST.

  • Gem::Net::HTTP#post: convenience method for HTTP method POST.



863
864
865
866
867
868
# File 'lib/rubygems/vendor/net-http/lib/net/http.rb', line 863

def HTTP.post(url, data, header = nil)
  start(url.hostname, url.port,
        :use_ssl => url.scheme == 'https' ) {|http|
    http.post(url, data, header)
  }
end