-
-
Notifications
You must be signed in to change notification settings - Fork 398
/
Copy pathrequest_helpers.rb
53 lines (42 loc) · 1.08 KB
/
request_helpers.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# frozen_string_literal: true
module RequestHelpers
include Rack::Test::Methods
class Request
def headers
@headers ||= {}
end
end
def app
Stringer
end
def request
@request ||= Request.new
end
alias response last_response
alias old_get get
def get(path, params: {})
old_get(path, params, request.headers.merge("rack.session" => session))
@session = last_request.env["rack.session"]
end
alias old_post post
def post(path, params: {})
old_post(path, params, request.headers.merge("rack.session" => session))
@session = last_request.env["rack.session"]
end
alias old_put put
def put(path, params: {})
old_put(path, params, request.headers.merge("rack.session" => session))
@session = last_request.env["rack.session"]
end
alias old_delete delete
def delete(path, params: {})
old_delete(path, params, request.headers.merge("rack.session" => session))
@session = last_request.env["rack.session"]
end
def login_as(user)
session[:user_id] = user.id
end
def session
@session ||= {}
end
end