Class: Async::HTTP::Request

Inherits:
Object
  • Object
show all
Includes:
Body::Buffered::Reader
Defined in:
lib/async/http/request.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Body::Buffered::Reader

#finish, #read

Constructor Details

#initialize(authority = nil, method = nil, path = nil, version = nil, headers = [], body = nil) ⇒ Request

Returns a new instance of Request.



29
30
31
32
33
34
35
36
# File 'lib/async/http/request.rb', line 29

def initialize(authority = nil, method = nil, path = nil, version = nil, headers = [], body = nil)
	@authority = authority
	@method = method
	@path = path
	@version = version
	@headers = headers
	@body = body
end

Instance Attribute Details

#authorityObject

Returns the value of attribute authority.



38
39
40
# File 'lib/async/http/request.rb', line 38

def authority
  @authority
end

#bodyObject

Returns the value of attribute body.



43
44
45
# File 'lib/async/http/request.rb', line 43

def body
  @body
end

#headersObject

Returns the value of attribute headers.



42
43
44
# File 'lib/async/http/request.rb', line 42

def headers
  @headers
end

#methodObject

Returns the value of attribute method.



39
40
41
# File 'lib/async/http/request.rb', line 39

def method
  @method
end

#pathObject

Returns the value of attribute path.



40
41
42
# File 'lib/async/http/request.rb', line 40

def path
  @path
end

#versionObject

Returns the value of attribute version.



41
42
43
# File 'lib/async/http/request.rb', line 41

def version
  @version
end

Class Method Details

.[](method, path, headers, body) ⇒ Object



53
54
55
56
57
# File 'lib/async/http/request.rb', line 53

def self.[](method, path, headers, body)
	body = Body::Buffered.wrap(body)
	
	self.new(nil, method, path, nil, headers, body)
end

Instance Method Details

#connect?Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/async/http/request.rb', line 49

def connect?
	self.method == CONNECT
end

#head?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/async/http/request.rb', line 45

def head?
	self.method == HEAD
end

#idempotent?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/async/http/request.rb', line 59

def idempotent?
	method != POST && (body.nil? || body.empty?)
end

#to_sObject



63
64
65
# File 'lib/async/http/request.rb', line 63

def to_s
	"#{@method} #{@path} #{@version}"
end