Class: Webmachine::Test::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/webmachine/test/session.rb

Constant Summary collapse

HTTP_METHODS =
%W(HEAD GET PUT POST PATCH DELETE OPTIONS)

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ Session

Returns a new instance of Session.



14
15
16
17
18
19
20
# File 'lib/webmachine/test/session.rb', line 14

def initialize(app)
  @headers = Webmachine::Headers.new
  @body = nil
  @req = nil
  @res = nil
  @app = app
end

Instance Method Details

#body(value) ⇒ Object

Set the request body.



38
39
40
# File 'lib/webmachine/test/session.rb', line 38

def body(value)
  @body = value.respond_to?(:read) ? value : StringIO.new(value.to_s)
end

#header(name, value) ⇒ Object

Set a single header for the next request.



33
34
35
# File 'lib/webmachine/test/session.rb', line 33

def header(name, value)
  @headers[name] = value
end

#requestObject

Returns the request object.



23
24
25
# File 'lib/webmachine/test/session.rb', line 23

def request
  @req || webmachine_test_error('No request object yet. Issue a request first.')
end

#responseObject

Returns the response object after a request has been made.



28
29
30
# File 'lib/webmachine/test/session.rb', line 28

def response
  @res || webmachine_test_error('No response yet. Issue a request first!')
end