forked from piotrmurach/github
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathheader.rb
More file actions
76 lines (57 loc) · 1.57 KB
/
Copy pathheader.rb
File metadata and controls
76 lines (57 loc) · 1.57 KB
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# encoding: utf-8
module Github
class Response
# Represents http response header
class Header < Struct.new(:env)
include Github::Constants
SUCCESSFUL_STATUSES = 200..299
def loaded?
!!env
end
def oauth_scopes
loaded? ? env[:response_headers][OAUTH_SCOPES] : nil
end
def accepted_oauth_scopes
loaded? ? env[:response_headers][ACCEPTED_OAUTH_SCOPES] : nil
end
# Requests are limited to API v3 to 5000 per hour.
def ratelimit_limit
loaded? ? env[:response_headers][RATELIMIT_LIMIT] : nil
end
def ratelimit_remaining
loaded? ? env[:response_headers][RATELIMIT_REMAINING] : nil
end
def cache_control
loaded? ? env[:response_headers][CACHE_CONTROL] : nil
end
def content_type
loaded? ? env[:response_headers][CONTENT_TYPE] : nil
end
def content_length
loaded? ? env[:response_headers][CONTENT_LENGTH] : nil
end
def etag
loaded? ? env[:response_headers][ETAG] : nil
end
def date
loaded? ? env[:response_headers][DATE] : nil
end
def location
loaded? ? env[:response_headers][LOCATION] : nil
end
def server
loaded? ? env[:response_headers][SERVER] : nil
end
def status
loaded? ? env[:status] : nil
end
def success?
SUCCESSFUL_STATUSES.include? status
end
# Returns raw body
def body
loaded? ? env[:body] : nil
end
end # Header
end # Response
end # Github