class Crest::Response

Overview

Response objects have several useful methods:

Defined in:

crest/response.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(http_client_res : HTTP::Client::Response, request : Crest::Request) #

[View source]

Instance Method Detail

def body(*args, **options) #

[View source]
def body(*args, **options, &) #

[View source]
def body_io(*args, **options) #

[View source]
def body_io(*args, **options, &) #

[View source]
def client_error?(*args, **options) #

[View source]
def client_error?(*args, **options, &) #

[View source]
def cookies #

[View source]
def filename : String? #

Extracts filename from Content-Disposition header


[View source]
def headers #

[View source]
def history : Array #

[View source]
def http_client_res : HTTP::Client::Response #

[View source]
def informational?(*args, **options) #

[View source]
def informational?(*args, **options, &) #

[View source]
def inspect #
Description copied from class Object

Returns a String representation of this object suitable to be embedded inside other expressions, sometimes providing more information about this object.

#inspect (and #inspect(io)) are the methods used when you invoke #to_s or #inspect on an object that holds other objects and wants to show them. For example when you invoke Array#to_s, #inspect will be invoked on each element:

ary = ["one", "two", "three, etc."]
ary.inspect # => ["one", "two", "three, etc."]

Note that if Array invoked #to_s on each of the elements above, the output would have been this:

ary = ["one", "two", "three, etc."]
# If inspect invoked to_s on each element...
ary.inspect # => [one, two, three, etc.]

Note that it's not clear how many elements the array has, or which are they, because #to_s doesn't guarantee that the string representation is clearly delimited (in the case of String the quotes are not shown).

Also note that sometimes the output of #inspect will look like a Crystal expression that will compile, but this isn't always the case, nor is it necessary. Notably, Reference#inspect and Struct#inspect return values that don't compile.

Classes must usually not override this method. Instead, they must override inspect(io), which must append to the given IO object.


[View source]
def invalid? #

[View source]
def redirect? #

[View source]
def redirection?(*args, **options) #

[View source]
def redirection?(*args, **options, &) #

[View source]
def request : Crest::Request #

[View source]
def return! : Crest::Response #

[View source]
def return!(&block : Crest::Response -> ) #

[View source]
def server_error?(*args, **options) #

[View source]
def server_error?(*args, **options, &) #

[View source]
def status(*args, **options) #

[View source]
def status(*args, **options, &) #

[View source]
def status_code(*args, **options) #

[View source]
def status_code(*args, **options, &) #

[View source]
def success?(*args, **options) #

[View source]
def success?(*args, **options, &) #

[View source]
def to_curl(*args, **options) #

[View source]
def to_curl(*args, **options, &) #

[View source]
def to_s(io : IO) : Nil #
Description copied from class Reference

Appends a short String representation of this object which includes its class name and its object address.

class Person
  def initialize(@name : String, @age : Int32)
  end
end

Person.new("John", 32).to_s # => #<Person:0x10a199f20>

[View source]
def url : String #

[View source]