D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
alt
/
ruby34
/
share
/
ri
/
system
/
Net
/
HTTPResponse
/
Filename :
cdesc-HTTPResponse.ri
back
Copy
U:RDoc::NormalClass[iI"HTTPResponse:ETI"Net::HTTPResponse;TI"Object;To:RDoc::Markup::Document:@parts[o;;[2o:RDoc::Markup::Paragraph;[I"BThis class is the base class for \Net::HTTP response classes.;To:RDoc::Markup::BlankLine S:RDoc::Markup::Heading: leveli: textI"About the Examples;T@o; ;[I"CExamples here assume that <tt>net/http</tt> has been required ;TI"!(which also requires +uri+):;T@o:RDoc::Markup::Verbatim;[I"require 'net/http' ;T:@format0o; ;[I"8Many code examples here use these example websites:;T@o:RDoc::Markup::List: @type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o; ;[I"*https://jsonplaceholder.typicode.com.;To;;0;[o; ;[I"http://example.com.;T@o; ;[I"/Some examples also assume these variables:;T@o;;[ I"8uri = URI('https://jsonplaceholder.typicode.com/') ;TI"+uri.freeze # Examples may not modify. ;TI"Ahostname = uri.hostname # => "jsonplaceholder.typicode.com" ;TI"&path = uri.path # => "/" ;TI"&port = uri.port # => 443 ;T;0o; ;[I"0So that example requests may be written as:;T@o;;[I"Net::HTTP.get(uri) ;TI",Net::HTTP.get(hostname, '/index.html') ;TI")Net::HTTP.start(hostname) do |http| ;TI" http.get('/todos/1') ;TI" http.get('/todos/2') ;TI" end ;T;0o; ;[I"^An example that needs a modified URI first duplicates +uri+, then modifies the duplicate:;T@o;;[I"_uri = uri.dup ;TI"_uri.path = '/todos/1' ;T;0S;;i; I"Returned Responses;T@o; ;[I",\Method Net::HTTP.get_response returns ;TI"@an instance of one of the subclasses of \Net::HTTPResponse:;T@o;;[ I"!Net::HTTP.get_response(uri) ;TI".# => #<Net::HTTPOK 200 OK readbody=true> ;TI"1Net::HTTP.get_response(hostname, '/nosuch') ;TI";# => #<Net::HTTPNotFound 404 Not Found readbody=true> ;T;0o; ;[I"&As does method Net::HTTP#request:;T@o;;[ I"#req = Net::HTTP::Get.new(uri) ;TI")Net::HTTP.start(hostname) do |http| ;TI" http.request(req) ;TI"2end # => #<Net::HTTPOK 200 OK readbody=true> ;T;0o; ;[I"@\Class \Net::HTTPResponse includes module Net::HTTPHeader, ;TI"Hwhich provides access to response header values via (among others):;T@o;;;;[o;;0;[o; ;[I"#\Hash-like method <tt>[]</tt>.;To;;0;[o; ;[I"5Specific reader methods, such as +content_type+.;T@o; ;[I"Examples:;T@o;;[I"Pres = Net::HTTP.get_response(uri) # => #<Net::HTTPOK 200 OK readbody=true> ;TI"Gres['Content-Type'] # => "text/html; charset=UTF-8" ;TI"8res.content_type # => "text/html" ;T;0S;;i; I"Response Subclasses;T@o; ;[I"7\Class \Net::HTTPResponse has a subclass for each ;TI"R{HTTP status code}[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes]. ;TI"9You can look up the response class for a given code:;T@o;;[I"<Net::HTTPResponse::CODE_TO_OBJ['200'] # => Net::HTTPOK ;TI"DNet::HTTPResponse::CODE_TO_OBJ['400'] # => Net::HTTPBadRequest ;TI"BNet::HTTPResponse::CODE_TO_OBJ['404'] # => Net::HTTPNotFound ;T;0o; ;[I"@And you can retrieve the status code for a response object:;T@o;;[I"ANet::HTTP.get_response(uri).code # => "200" ;TI"ANet::HTTP.get_response(hostname, '/nosuch').code # => "404" ;T;0o; ;[I"AThe response subclasses (indentation shows class hierarchy):;T@o;;;;[o;;0;[o; ;[I"?Net::HTTPUnknownResponse (for unhandled \HTTP extensions).;T@o;;0;[o; ;[I"Net::HTTPInformation:;T@o;;;;[ o;;0;[o; ;[I"Net::HTTPContinue (100);To;;0;[o; ;[I""Net::HTTPSwitchProtocol (101);To;;0;[o; ;[I"Net::HTTPProcessing (102);To;;0;[o; ;[I"Net::HTTPEarlyHints (103);T@o;;0;[o; ;[I"Net::HTTPSuccess:;T@o;;;;[o;;0;[o; ;[I"Net::HTTPOK (200);To;;0;[o; ;[I"Net::HTTPCreated (201);To;;0;[o; ;[I"Net::HTTPAccepted (202);To;;0;[o; ;[I"/Net::HTTPNonAuthoritativeInformation (203);To;;0;[o; ;[I"Net::HTTPNoContent (204);To;;0;[o; ;[I" Net::HTTPResetContent (205);To;;0;[o; ;[I""Net::HTTPPartialContent (206);To;;0;[o; ;[I"Net::HTTPMultiStatus (207);To;;0;[o; ;[I"#Net::HTTPAlreadyReported (208);To;;0;[o; ;[I"Net::HTTPIMUsed (226);T@o;;0;[o; ;[I"Net::HTTPRedirection:;T@o;;;;[ o;;0;[o; ;[I"#Net::HTTPMultipleChoices (300);To;;0;[o; ;[I"$Net::HTTPMovedPermanently (301);To;;0;[o; ;[I"Net::HTTPFound (302);To;;0;[o; ;[I"Net::HTTPSeeOther (303);To;;0;[o; ;[I"Net::HTTPNotModified (304);To;;0;[o; ;[I"Net::HTTPUseProxy (305);To;;0;[o; ;[I"%Net::HTTPTemporaryRedirect (307);To;;0;[o; ;[I"%Net::HTTPPermanentRedirect (308);T@o;;0;[o; ;[I"Net::HTTPClientError:;T@o;;;;[ o;;0;[o; ;[I"Net::HTTPBadRequest (400);To;;0;[o; ;[I" Net::HTTPUnauthorized (401);To;;0;[o; ;[I"#Net::HTTPPaymentRequired (402);To;;0;[o; ;[I"Net::HTTPForbidden (403);To;;0;[o; ;[I"Net::HTTPNotFound (404);To;;0;[o; ;[I"$Net::HTTPMethodNotAllowed (405);To;;0;[o; ;[I"!Net::HTTPNotAcceptable (406);To;;0;[o; ;[I"/Net::HTTPProxyAuthenticationRequired (407);To;;0;[o; ;[I""Net::HTTPRequestTimeOut (408);To;;0;[o; ;[I"Net::HTTPConflict (409);To;;0;[o; ;[I"Net::HTTPGone (410);To;;0;[o; ;[I""Net::HTTPLengthRequired (411);To;;0;[o; ;[I"&Net::HTTPPreconditionFailed (412);To;;0;[o; ;[I")Net::HTTPRequestEntityTooLarge (413);To;;0;[o; ;[I"%Net::HTTPRequestURITooLong (414);To;;0;[o; ;[I"(Net::HTTPUnsupportedMediaType (415);To;;0;[o; ;[I"0Net::HTTPRequestedRangeNotSatisfiable (416);To;;0;[o; ;[I"%Net::HTTPExpectationFailed (417);To;;0;[o; ;[I"&Net::HTTPMisdirectedRequest (421);To;;0;[o; ;[I"'Net::HTTPUnprocessableEntity (422);To;;0;[o; ;[I"Net::HTTPLocked (423);To;;0;[o; ;[I"$Net::HTTPFailedDependency (424);To;;0;[o; ;[I"#Net::HTTPUpgradeRequired (426);To;;0;[o; ;[I"(Net::HTTPPreconditionRequired (428);To;;0;[o; ;[I"#Net::HTTPTooManyRequests (429);To;;0;[o; ;[I"/Net::HTTPRequestHeaderFieldsTooLarge (431);To;;0;[o; ;[I".Net::HTTPUnavailableForLegalReasons (451);T@o;;0;[o; ;[I"Net::HTTPServerError:;T@o;;;;[o;;0;[o; ;[I"'Net::HTTPInternalServerError (500);To;;0;[o; ;[I""Net::HTTPNotImplemented (501);To;;0;[o; ;[I"Net::HTTPBadGateway (502);To;;0;[o; ;[I"&Net::HTTPServiceUnavailable (503);To;;0;[o; ;[I""Net::HTTPGatewayTimeOut (504);To;;0;[o; ;[I"'Net::HTTPVersionNotSupported (505);To;;0;[o; ;[I")Net::HTTPVariantAlsoNegotiates (506);To;;0;[o; ;[I"'Net::HTTPInsufficientStorage (507);To;;0;[o; ;[I" Net::HTTPLoopDetected (508);To;;0;[o; ;[I"Net::HTTPNotExtended (510);To;;0;[o; ;[I"1Net::HTTPNetworkAuthenticationRequired (511);T@o; ;[I"KThere is also the Net::HTTPBadResponse exception which is raised when ;TI"there is a protocol error.;T: @fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below0o;;[ ;I"lib/net/http/responses.rb;T;0;0;0[[ I"body_encoding;TI"R;T:publicFI"lib/net/http/response.rb;T[ I" code;T@�;F@�[ I"decode_content;TI"RW;T;F@�[ I"http_version;T@�;F@�[ I"ignore_eof;T@�;F@�[ I"message;T@�;F@�[ I"uri;T@�;F@�[U:RDoc::Constant[i I"CODE_CLASS_TO_OBJ;TI")Net::HTTPResponse::CODE_CLASS_TO_OBJ;T;0o;;[ ;@�;0@�@cRDoc::NormalClass0U;[i I"CODE_TO_OBJ;TI"#Net::HTTPResponse::CODE_TO_OBJ;T;0o;;[ ;@�;0@�@@�0[[I"Net::HTTPHeader;To;;[o; ;[I"Hnext is to fix bug in RDoc, where the private inside class << self ;TI"spills out.;T;@�;0@�[[I" class;T[[;[[I"body_permitted?;T@�[:protected[ [:private[[I"each_response_header;T@�[I"read_status_line;T@�[I"response_class;T@�[I" instance;T[[;[[I" body;T@�[I" body=;T@�[I"body_encoding=;T@�[I"inspect;T@�[I"read_body;T@�[I" value;T@�[;[ [;[ [ [U:RDoc::Context::Section[i 0o;;[ ;0;0[@�@�I"Clib/rubygems/gemcutter_utilities/webauthn_listener/response.rb;T@�cRDoc::TopLevel