redditkit 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +8 -4
- data/lib/redditkit.rb +4 -3
- data/lib/redditkit/client.rb +6 -8
- data/lib/redditkit/client/apps.rb +8 -8
- data/lib/redditkit/client/captcha.rb +2 -2
- data/lib/redditkit/client/comments.rb +2 -2
- data/lib/redditkit/client/flair.rb +10 -8
- data/lib/redditkit/client/links.rb +24 -20
- data/lib/redditkit/client/miscellaneous.rb +10 -10
- data/lib/redditkit/client/moderation.rb +23 -21
- data/lib/redditkit/client/multireddits.rb +4 -4
- data/lib/redditkit/client/private_messages.rb +6 -4
- data/lib/redditkit/client/search.rb +1 -1
- data/lib/redditkit/client/subreddits.rb +11 -7
- data/lib/redditkit/client/users.rb +17 -14
- data/lib/redditkit/client/utilities.rb +10 -8
- data/lib/redditkit/client/voting.rb +5 -5
- data/lib/redditkit/client/wiki.rb +4 -0
- data/lib/redditkit/comment.rb +4 -4
- data/lib/redditkit/error.rb +3 -3
- data/lib/redditkit/link.rb +14 -14
- data/lib/redditkit/moderator_action.rb +4 -4
- data/lib/redditkit/multireddit.rb +2 -2
- data/lib/redditkit/multireddit_description.rb +2 -2
- data/lib/redditkit/private_message.rb +2 -2
- data/lib/redditkit/response/parse_json.rb +7 -1
- data/lib/redditkit/response/raise_error.rb +4 -5
- data/lib/redditkit/subreddit.rb +13 -10
- data/lib/redditkit/thing.rb +1 -0
- data/lib/redditkit/user.rb +12 -8
- data/lib/redditkit/version.rb +1 -5
- data/lib/redditkit/votable.rb +2 -2
- data/redditkit.gemspec +1 -1
- data/spec/cassettes/RedditKit_Client_Flair/_flair_list/returns_the_list_of_flair.yml +51 -4
- data/spec/cassettes/RedditKit_Client_Moderation/_ban/requests_the_correct_resource.yml +70 -23
- data/spec/cassettes/RedditKit_Client_Moderation/_contributors_to_subreddit/requests_the_correct_resource.yml +52 -5
- data/spec/cassettes/RedditKit_Client_Moderation/_moderation_log/returns_RedditKit_ModeratorAction_objects.yml +150 -109
- data/spec/cassettes/RedditKit_Client_Moderation/_moderators_of_subreddit/requests_the_correct_resource.yml +53 -6
- data/spec/cassettes/RedditKit_Client_Moderation/_unban/requests_the_correct_resource.yml +61 -14
- data/spec/cassettes/RedditKit_Client_Multireddits/_multireddit/without_a_path/returns_a_multireddit.yml +49 -7
- data/spec/cassettes/RedditKit_Client_Multireddits/_multireddit_description/with_a_multireddit/returns_a_multireddit_description.yml +102 -11
- data/spec/cassettes/RedditKit_Client_Multireddits/_multireddit_description/with_a_username_and_multireddit_name/returns_a_multireddit_description.yml +54 -5
- data/spec/cassettes/RedditKit_Client_Search/_search/restricts_searches_to_a_specific_subreddit.yml +925 -0
- data/spec/cassettes/RedditKit_Client_Search/_search/returns_a_specific_number_of_results.yml +116 -0
- data/spec/cassettes/RedditKit_Client_Search/_search/returns_search_results.yml +884 -0
- data/spec/cassettes/RedditKit_Client_Wiki/_add_wiki_editor/requests_the_correct_resource.yml +58 -4
- data/spec/cassettes/RedditKit_Client_Wiki/_edit_wiki_page/requests_the_correct_resource.yml +58 -4
- data/spec/cassettes/RedditKit_Client_Wiki/_hide_wiki_revision/requests_the_correct_resource.yml +58 -4
- data/spec/cassettes/RedditKit_Client_Wiki/_remove_wiki_editor/requests_the_correct_resource.yml +58 -4
- data/spec/cassettes/RedditKit_Client_Wiki/_revert_to_revision/requests_the_correct_resource.yml +58 -4
- data/spec/redditkit/comment_spec.rb +6 -6
- data/spec/redditkit/link_spec.rb +38 -7
- data/spec/redditkit/thing_spec.rb +8 -0
- data/spec/redditkit/user_spec.rb +14 -0
- data/spec/spec_helper.rb +0 -4
- metadata +7 -11
@@ -43,6 +43,8 @@ module RedditKit
|
|
43
43
|
# @option options [String] revision The revision to hide.
|
44
44
|
# @return [Boolean] True if the revision is now hidden, false if it is not hidden.
|
45
45
|
def hide_wiki_revision(options)
|
46
|
+
options = options.clone
|
47
|
+
|
46
48
|
subreddit_name = extract_string(options[:subreddit], :display_name)
|
47
49
|
options.delete :subreddit
|
48
50
|
|
@@ -56,6 +58,8 @@ module RedditKit
|
|
56
58
|
# @option options [String] page The name of an existing wiki page.
|
57
59
|
# @option options [String] revision The revision to revert to.
|
58
60
|
def revert_to_revision(options)
|
61
|
+
options = options.clone
|
62
|
+
|
59
63
|
subreddit_name = extract_string(options[:subreddit], :display_name)
|
60
64
|
options.delete :subreddit
|
61
65
|
|
data/lib/redditkit/comment.rb
CHANGED
@@ -26,8 +26,8 @@ module RedditKit
|
|
26
26
|
attr_reader :subreddit
|
27
27
|
attr_reader :subreddit_id
|
28
28
|
|
29
|
-
|
30
|
-
|
29
|
+
alias_method :text, :body
|
30
|
+
alias_method :posted_at, :created_at
|
31
31
|
|
32
32
|
# Whether a comment has been deleted by its submitter or a moderator.
|
33
33
|
def deleted?
|
@@ -37,12 +37,12 @@ module RedditKit
|
|
37
37
|
# The replies to a comment.
|
38
38
|
def replies
|
39
39
|
replies_listing = @attributes[:replies]
|
40
|
-
return
|
40
|
+
return [] if replies_listing.blank?
|
41
41
|
|
42
42
|
replies_array = replies_listing[:data][:children]
|
43
43
|
|
44
44
|
@comment_objects ||= replies_array.map do |comment|
|
45
|
-
RedditKit::Comment.new(comment)
|
45
|
+
RedditKit::Comment.new(comment)
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
data/lib/redditkit/error.rb
CHANGED
@@ -6,7 +6,7 @@ module RedditKit
|
|
6
6
|
|
7
7
|
def from_status_code_and_body(status_code, body)
|
8
8
|
error_value = extract_error_value body
|
9
|
-
return if status_code == 200
|
9
|
+
return if status_code == 200 && error_value.nil?
|
10
10
|
|
11
11
|
case status_code
|
12
12
|
when 200
|
@@ -53,7 +53,7 @@ module RedditKit
|
|
53
53
|
def extract_error_value(body)
|
54
54
|
return nil unless body.instance_of? Hash
|
55
55
|
|
56
|
-
if body.key?(:json)
|
56
|
+
if body.key?(:json) && body[:json].key?(:errors)
|
57
57
|
body[:json][:errors].to_s
|
58
58
|
elsif body.key?(:jquery)
|
59
59
|
body[:jquery].to_s
|
@@ -74,7 +74,7 @@ module RedditKit
|
|
74
74
|
|
75
75
|
# Raised when the user attempts to create a multireddit with an invalid name.
|
76
76
|
class InvalidMultiredditName < Error; end
|
77
|
-
|
77
|
+
|
78
78
|
# Raised when reddit returns a 409 status code.
|
79
79
|
class Conflict < Error; end
|
80
80
|
|
data/lib/redditkit/link.rb
CHANGED
@@ -93,18 +93,18 @@ module RedditKit
|
|
93
93
|
|
94
94
|
# Whether the link has been visited by the current user. Requires that the current user have reddit gold.
|
95
95
|
attr_reader :visited
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
96
|
+
|
97
|
+
alias_method :approved?, :approved_by
|
98
|
+
alias_method :banned?, :banned_by
|
99
|
+
alias_method :nsfw?, :over_18
|
100
|
+
alias_method :self_post?, :is_self
|
101
|
+
alias_method :sticky?, :stickied
|
102
|
+
alias_method :subreddit_full_name, :subreddit_id
|
103
|
+
alias_method :text, :selftext
|
104
|
+
alias_method :text_html, :selftext_html
|
105
|
+
alias_method :thumbnail_url, :thumbnail
|
106
|
+
alias_method :total_comments, :num_comments
|
107
|
+
alias_method :total_reports, :num_reports
|
108
108
|
|
109
109
|
def title
|
110
110
|
@escaped_title ||= HTMLEntities.new.decode(@attributes[:title])
|
@@ -133,11 +133,11 @@ module RedditKit
|
|
133
133
|
# @return [Boolean]
|
134
134
|
def image_link?
|
135
135
|
extensions = %w(.png .jpg .jpeg .gif)
|
136
|
-
extensions.any?{ |extension| url.end_with? extension }
|
136
|
+
extensions.any? { |extension| url.end_with? extension }
|
137
137
|
end
|
138
138
|
|
139
139
|
def permalink
|
140
|
-
@permalink ||=
|
140
|
+
@permalink ||= URI.join('http://www.reddit.com', URI.encode(@attributes[:permalink])).to_s
|
141
141
|
end
|
142
142
|
|
143
143
|
# Returns the short URL for a link.
|
@@ -10,10 +10,10 @@ module RedditKit
|
|
10
10
|
attr_reader :subreddit
|
11
11
|
attr_reader :sub_id36
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
alias_method :moderator_username, :mod
|
14
|
+
alias_method :moderator_identifier, :mod_id36
|
15
|
+
alias_method :subreddit_name, :subreddit
|
16
|
+
alias_method :subreddit_identifier, :sub_id36
|
17
17
|
|
18
18
|
end
|
19
19
|
end
|
@@ -12,13 +12,13 @@ module RedditKit
|
|
12
12
|
attr_reader :visibility
|
13
13
|
attr_reader :path
|
14
14
|
|
15
|
-
|
15
|
+
alias_method :editable?, :can_edit
|
16
16
|
|
17
17
|
# An array of subreddit display names.
|
18
18
|
#
|
19
19
|
# @return [Array<String>]
|
20
20
|
def subreddits
|
21
|
-
@subreddits ||= @attributes[:subreddits].
|
21
|
+
@subreddits ||= @attributes[:subreddits].map { |subreddit| subreddit[:name] }
|
22
22
|
end
|
23
23
|
|
24
24
|
# The username of the multireddit's owner.
|
@@ -20,10 +20,16 @@ module RedditKit
|
|
20
20
|
|
21
21
|
def on_complete(env)
|
22
22
|
if respond_to?(:parse)
|
23
|
-
|
23
|
+
unless bad_status_codes.include? env[:status]
|
24
|
+
env[:body] = parse env[:body]
|
25
|
+
end
|
24
26
|
end
|
25
27
|
end
|
26
28
|
|
29
|
+
def bad_status_codes
|
30
|
+
@status_codes ||= [204, 301, 302, 304]
|
31
|
+
end
|
32
|
+
|
27
33
|
end
|
28
34
|
end
|
29
35
|
end
|
@@ -5,17 +5,16 @@ module RedditKit
|
|
5
5
|
|
6
6
|
# Methods for handling responses from reddit.
|
7
7
|
module Response
|
8
|
-
class RaiseError < Faraday::Response::Middleware
|
9
8
|
|
9
|
+
# Middleware for detecting errors from response codes and bodies.
|
10
|
+
class RaiseError < Faraday::Response::Middleware
|
10
11
|
def on_complete(env)
|
11
12
|
status_code = env[:status]
|
12
13
|
body = env[:body]
|
13
14
|
|
14
|
-
|
15
|
-
|
16
|
-
end
|
15
|
+
error = RedditKit::Error.from_status_code_and_body(status_code, body)
|
16
|
+
fail error if error
|
17
17
|
end
|
18
|
-
|
19
18
|
end
|
20
19
|
end
|
21
20
|
end
|
data/lib/redditkit/subreddit.rb
CHANGED
@@ -72,15 +72,18 @@ module RedditKit
|
|
72
72
|
# Whether the current user is a subscriber to the subreddit.
|
73
73
|
attr_reader :user_is_subscriber
|
74
74
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
75
|
+
alias_method :banned?, :user_is_banned
|
76
|
+
alias_method :comment_spam_filter_strength, :spam_comments
|
77
|
+
alias_method :contributor?, :user_is_contributor
|
78
|
+
alias_method :link_spam_filter_strength, :spam_links
|
79
|
+
alias_method :moderator?, :user_is_moderator
|
80
|
+
alias_method :name, :display_name
|
81
|
+
alias_method :nsfw?, :over18
|
82
|
+
alias_method :self_post_spam_filter_strength, :spam_selfpost
|
83
|
+
alias_method :subscriber?, :user_is_subscriber
|
84
|
+
|
85
|
+
def uri
|
86
|
+
@uri ||= URI.join "http://www.reddit.com/r/", name
|
87
|
+
end
|
85
88
|
end
|
86
89
|
end
|
data/lib/redditkit/thing.rb
CHANGED
data/lib/redditkit/user.rb
CHANGED
@@ -18,13 +18,17 @@ module RedditKit
|
|
18
18
|
attr_reader :is_mod
|
19
19
|
attr_reader :over_18
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
21
|
+
alias_method :friend?, :is_friend
|
22
|
+
alias_method :gold?, :is_gold
|
23
|
+
alias_method :mail?, :has_mail
|
24
|
+
alias_method :mod?, :is_mod
|
25
|
+
alias_method :mod_mail?, :has_mod_mail
|
26
|
+
alias_method :over_18?, :over_18
|
27
|
+
alias_method :username, :name
|
28
|
+
alias_method :verified?, :has_verified_email
|
29
|
+
|
30
|
+
def uri
|
31
|
+
@uri ||= URI.join "http://www.reddit.com/user/", username
|
32
|
+
end
|
29
33
|
end
|
30
34
|
end
|
data/lib/redditkit/version.rb
CHANGED
data/lib/redditkit/votable.rb
CHANGED
@@ -2,7 +2,7 @@ module RedditKit
|
|
2
2
|
|
3
3
|
# Methods which determine the voting status of objects.
|
4
4
|
module Votable
|
5
|
-
|
5
|
+
|
6
6
|
# The number of upvotes an item has.
|
7
7
|
def upvotes
|
8
8
|
@attributes[:ups]
|
@@ -30,7 +30,7 @@ module RedditKit
|
|
30
30
|
|
31
31
|
# Whether the user has voted on this item (either upvoted or downvoted).
|
32
32
|
def voted?
|
33
|
-
!@attributes[:likes].nil?
|
33
|
+
!@attributes[:likes].nil?
|
34
34
|
end
|
35
35
|
|
36
36
|
end
|
data/redditkit.gemspec
CHANGED
@@ -16,7 +16,7 @@ http_interactions:
|
|
16
16
|
Accept-Encoding:
|
17
17
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
18
18
|
Accept:
|
19
|
-
-
|
19
|
+
- '*/*'
|
20
20
|
response:
|
21
21
|
status:
|
22
22
|
code: 200
|
@@ -31,14 +31,61 @@ http_interactions:
|
|
31
31
|
Pragma:
|
32
32
|
- no-cache
|
33
33
|
Server:
|
34
|
-
-
|
34
|
+
- '''; DROP TABLE servertypes; --'
|
35
35
|
Date:
|
36
36
|
- Sun, 10 Nov 2013 19:56:32 GMT
|
37
37
|
Connection:
|
38
38
|
- keep-alive
|
39
39
|
body:
|
40
40
|
encoding: UTF-8
|
41
|
-
string:
|
41
|
+
string: '{"users": []}'
|
42
42
|
http_version:
|
43
43
|
recorded_at: Sun, 10 Nov 2013 19:56:31 GMT
|
44
|
-
|
44
|
+
- request:
|
45
|
+
method: get
|
46
|
+
uri: http://www.reddit.com/r/<REDDIT_USERNAME>_testsub/api/flairlist.json
|
47
|
+
body:
|
48
|
+
encoding: US-ASCII
|
49
|
+
string: ''
|
50
|
+
headers:
|
51
|
+
User-Agent:
|
52
|
+
- Faraday v0.8.8
|
53
|
+
Cookie:
|
54
|
+
- reddit_session=20332937,2013-11-10T11:35:59,2077074c26ccd8ec123c996b77eeb7afb6090af9
|
55
|
+
X-Modhash:
|
56
|
+
- 36zuxndsdf695692a68e32384990478663dadfc30f0a1dd959
|
57
|
+
Accept-Encoding:
|
58
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
59
|
+
Accept:
|
60
|
+
- '*/*'
|
61
|
+
response:
|
62
|
+
status:
|
63
|
+
code: 403
|
64
|
+
message: Forbidden
|
65
|
+
headers:
|
66
|
+
Content-Length:
|
67
|
+
- '14'
|
68
|
+
Content-Type:
|
69
|
+
- application/json; charset=UTF-8
|
70
|
+
Cache-Control:
|
71
|
+
- no-cache
|
72
|
+
Pragma:
|
73
|
+
- no-cache
|
74
|
+
X-Frame-Options:
|
75
|
+
- SAMEORIGIN
|
76
|
+
X-Content-Type-Options:
|
77
|
+
- nosniff
|
78
|
+
X-Xss-Protection:
|
79
|
+
- 1; mode=block
|
80
|
+
Server:
|
81
|
+
- '''; DROP TABLE servertypes; --'
|
82
|
+
Date:
|
83
|
+
- Wed, 29 Jan 2014 23:31:47 GMT
|
84
|
+
Connection:
|
85
|
+
- keep-alive
|
86
|
+
body:
|
87
|
+
encoding: UTF-8
|
88
|
+
string: '{"error": 403}'
|
89
|
+
http_version:
|
90
|
+
recorded_at: Wed, 29 Jan 2014 23:30:32 GMT
|
91
|
+
recorded_with: VCR 2.8.0
|
@@ -16,7 +16,7 @@ http_interactions:
|
|
16
16
|
Accept-Encoding:
|
17
17
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
18
18
|
Accept:
|
19
|
-
-
|
19
|
+
- '*/*'
|
20
20
|
response:
|
21
21
|
status:
|
22
22
|
code: 200
|
@@ -31,24 +31,24 @@ http_interactions:
|
|
31
31
|
Pragma:
|
32
32
|
- no-cache
|
33
33
|
Server:
|
34
|
-
-
|
34
|
+
- '''; DROP TABLE servertypes; --'
|
35
35
|
Date:
|
36
36
|
- Sun, 10 Nov 2013 22:21:38 GMT
|
37
37
|
Connection:
|
38
38
|
- keep-alive
|
39
39
|
body:
|
40
40
|
encoding: UTF-8
|
41
|
-
string:
|
42
|
-
false,
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
null,
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
41
|
+
string: '{"kind": "t5", "data": {"submit_text_html": null, "user_is_banned":
|
42
|
+
false, "id": "2ylc5", "submit_text": "", "spam_selfposts": null, "display_name":
|
43
|
+
"RedditKitTesting", "header_img": null, "description_html": null, "title":
|
44
|
+
"RedditKit Testing", "over18": false, "user_is_moderator": true, "header_title":
|
45
|
+
null, "description": "", "submit_link_label": null, "accounts_active": 6,
|
46
|
+
"spam_comments": null, "spam_links": null, "header_size": null, "subscribers":
|
47
|
+
1, "submit_text_label": null, "name": "t5_2ylc5", "created": 1379988259.0,
|
48
|
+
"url": "/r/RedditKitTesting/", "created_utc": 1379984659.0, "user_is_contributor":
|
49
|
+
false, "public_traffic": false, "public_description": "", "comment_score_hide_mins":
|
50
|
+
0, "subreddit_type": "public", "submission_type": "any", "user_is_subscriber":
|
51
|
+
false}}'
|
52
52
|
http_version:
|
53
53
|
recorded_at: Sun, 10 Nov 2013 22:21:37 GMT
|
54
54
|
- request:
|
@@ -69,7 +69,7 @@ http_interactions:
|
|
69
69
|
Accept-Encoding:
|
70
70
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
71
71
|
Accept:
|
72
|
-
-
|
72
|
+
- '*/*'
|
73
73
|
response:
|
74
74
|
status:
|
75
75
|
code: 200
|
@@ -84,20 +84,67 @@ http_interactions:
|
|
84
84
|
Pragma:
|
85
85
|
- no-cache
|
86
86
|
Server:
|
87
|
-
-
|
87
|
+
- '''; DROP TABLE servertypes; --'
|
88
88
|
Date:
|
89
89
|
- Sun, 10 Nov 2013 22:21:38 GMT
|
90
90
|
Connection:
|
91
91
|
- keep-alive
|
92
92
|
body:
|
93
93
|
encoding: UTF-8
|
94
|
-
string:
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
[
|
99
|
-
[
|
100
|
-
|
94
|
+
string: '{"jquery": [[0, 1, "call", ["body"]], [1, 2, "attr", "find"], [2, 3,
|
95
|
+
"call", [".status"]], [3, 4, "attr", "hide"], [4, 5, "call", []], [5, 6, "attr",
|
96
|
+
"html"], [6, 7, "call", [""]], [7, 8, "attr", "end"], [8, 9, "call", []],
|
97
|
+
[1, 10, "attr", "find"], [10, 11, "call", [".error.NO_USER.field-name"]],
|
98
|
+
[11, 12, "attr", "show"], [12, 13, "call", []], [13, 14, "attr", "text"],
|
99
|
+
[14, 15, "call", ["please enter a username"]], [15, 16, "attr", "end"], [16,
|
100
|
+
17, "call", []]]}'
|
101
101
|
http_version:
|
102
102
|
recorded_at: Sun, 10 Nov 2013 22:21:37 GMT
|
103
|
-
|
103
|
+
- request:
|
104
|
+
method: get
|
105
|
+
uri: http://www.reddit.com/r/<REDDIT_USERNAME>_testsub/about.json
|
106
|
+
body:
|
107
|
+
encoding: US-ASCII
|
108
|
+
string: ''
|
109
|
+
headers:
|
110
|
+
User-Agent:
|
111
|
+
- Faraday v0.8.8
|
112
|
+
Cookie:
|
113
|
+
- reddit_session=20332937,2013-11-10T11:35:59,2077074c26ccd8ec123c996b77eeb7afb6090af9
|
114
|
+
X-Modhash:
|
115
|
+
- 36zuxndsdf695692a68e32384990478663dadfc30f0a1dd959
|
116
|
+
Accept-Encoding:
|
117
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
118
|
+
Accept:
|
119
|
+
- '*/*'
|
120
|
+
response:
|
121
|
+
status:
|
122
|
+
code: 403
|
123
|
+
message: Forbidden
|
124
|
+
headers:
|
125
|
+
Content-Length:
|
126
|
+
- '14'
|
127
|
+
Content-Type:
|
128
|
+
- application/json; charset=UTF-8
|
129
|
+
Cache-Control:
|
130
|
+
- no-cache
|
131
|
+
Pragma:
|
132
|
+
- no-cache
|
133
|
+
X-Frame-Options:
|
134
|
+
- SAMEORIGIN
|
135
|
+
X-Content-Type-Options:
|
136
|
+
- nosniff
|
137
|
+
X-Xss-Protection:
|
138
|
+
- 1; mode=block
|
139
|
+
Server:
|
140
|
+
- '''; DROP TABLE servertypes; --'
|
141
|
+
Date:
|
142
|
+
- Wed, 29 Jan 2014 23:31:48 GMT
|
143
|
+
Connection:
|
144
|
+
- keep-alive
|
145
|
+
body:
|
146
|
+
encoding: UTF-8
|
147
|
+
string: '{"error": 403}'
|
148
|
+
http_version:
|
149
|
+
recorded_at: Wed, 29 Jan 2014 23:30:33 GMT
|
150
|
+
recorded_with: VCR 2.8.0
|