class Net::HTTPGenericRequest
HTTPGenericRequest ist die Basisklasse von Net::HTTPRequest.
Verwenden Sie diese Klasse nicht direkt; verwenden Sie stattdessen eine Unterklasse von Net::HTTPRequest.
Über die Beispiele
Die hier angenommenen Codebeispiele erfordern, dass net/http geladen wurde (was auch uri lädt)
require 'net/http'
Viele Codebeispiele hier verwenden diese Beispiel-Websites
Einige Beispiele gehen auch von diesen Variablen aus
uri = URI('https://jsonplaceholder.typicode.com/') uri.freeze # Examples may not modify. hostname = uri.hostname # => "jsonplaceholder.typicode.com" path = uri.path # => "/" port = uri.port # => 443
So dass Beispielanfragen geschrieben werden können als
Net::HTTP.get(uri) Net::HTTP.get(hostname, '/index.html') Net::HTTP.start(hostname) do |http| http.get('/todos/1') http.get('/todos/2') end
Ein Beispiel, das eine modifizierte URI benötigt, dupliziert zuerst uri und modifiziert dann die Kopie
_uri = uri.dup _uri.path = '/todos/1'
Attribute
Gibt den String-Body für die Anfrage zurück oder nil, falls keiner vorhanden ist.
req = Net::HTTP::Post.new(uri) req.body # => nil req.body = '{"title": "foo","body": "bar","userId": 1}' req.body # => "{\"title\": \"foo\",\"body\": \"bar\",\"userId\": 1}"
Gibt das Body-Stream-Objekt für die Anfrage zurück oder nil, falls keines vorhanden ist.
req = Net::HTTP::Post.new(uri) # => #<Net::HTTP::Post POST> req.body_stream # => nil require 'stringio' req.body_stream = StringIO.new('xyzzy') # => #<StringIO:0x0000027d1e5affa8> req.body_stream # => #<StringIO:0x0000027d1e5affa8>
Gibt false zurück, wenn der Header 'Accept-Encoding' der Anfrage manuell gesetzt oder gelöscht wurde (was darauf hindeutet, dass der Benutzer die Kodierung der Antwort selbst verwalten möchte), andernfalls true.
req = Net::HTTP::Get.new(uri) # => #<Net::HTTP::Get GET> req['Accept-Encoding'] # => "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" req.decode_content # => true req['Accept-Encoding'] = 'foo' req.decode_content # => false req.delete('Accept-Encoding') req.decode_content # => false
Gibt den String-Methodennamen für die Anfrage zurück.
Net::HTTP::Get.new(uri).method # => "GET" Net::HTTP::Post.new(uri).method # => "POST"
Gibt den Pfad für die Anfrage als String zurück.
Net::HTTP::Get.new(uri).path # => "/" Net::HTTP::Post.new('example.com').path # => "example.com"
Öffentliche Instanzmethoden
Source
# File lib/net/http/generic_request.rb, line 176 def body=(str) @body = str @body_stream = nil @body_data = nil str end
Setzt den Body für die Anfrage.
req = Net::HTTP::Post.new(uri) req.body # => nil req.body = '{"title": "foo","body": "bar","userId": 1}' req.body # => "{\"title\": \"foo\",\"body\": \"bar\",\"userId\": 1}"
Source
# File lib/net/http/generic_request.rb, line 201 def body_stream=(input) @body = nil @body_stream = input @body_data = nil input end
Setzt den Body-Stream für die Anfrage.
req = Net::HTTP::Post.new(uri) # => #<Net::HTTP::Post POST> req.body_stream # => nil require 'stringio' req.body_stream = StringIO.new('xyzzy') # => #<StringIO:0x0000027d1e5affa8> req.body_stream # => #<StringIO:0x0000027d1e5affa8>
Source
# File lib/net/http/generic_request.rb, line 98 def inspect "\#<#{self.class} #{@method}>" end
Gibt eine String-Darstellung der Anfrage zurück.
Net::HTTP::Post.new(uri).inspect # => "#<Net::HTTP::Post POST>"
Source
# File lib/net/http/generic_request.rb, line 116 def pretty_print(q) q.object_group(self) { q.breakable q.text @method q.breakable q.text "path="; q.pp @path q.breakable q.text "headers="; q.pp to_hash } end
Gibt eine String-Darstellung der Anfrage mit den Details für pp zurück.
require 'pp'
post = Net::HTTP::Post.new(uri)
post.inspect # => "#<Net::HTTP::Post POST>"
post.pretty_inspect
# => #<Net::HTTP::Post
POST
path="/"
headers={"accept-encoding" => ["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],
"accept" => ["*/*"],
"user-agent" => ["Ruby"],
"host" => ["www.ruby-lang.org"]}>
Source
# File lib/net/http/generic_request.rb, line 142 def request_body_permitted? @request_has_body end
Gibt zurück, ob die Anfrage einen Body haben darf.
Net::HTTP::Post.new(uri).request_body_permitted? # => true Net::HTTP::Get.new(uri).request_body_permitted? # => false
Source
# File lib/net/http/generic_request.rb, line 151 def response_body_permitted? @response_has_body end
Gibt zurück, ob die Antwort einen Body haben darf.
Net::HTTP::Post.new(uri).response_body_permitted? # => true Net::HTTP::Head.new(uri).response_body_permitted? # => false