html-proofer 2.3.0 → 2.4.0

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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -2
  3. data/bin/htmlproof +4 -2
  4. data/html-proofer.gemspec +1 -0
  5. data/lib/html/proofer.rb +5 -2
  6. data/lib/html/proofer/check_runner.rb +3 -2
  7. data/lib/html/proofer/checks/html.rb +7 -3
  8. data/lib/html/proofer/version.rb +1 -1
  9. data/spec/html/proofer/fixtures/html/ignore_script_embeds.html +3 -0
  10. data/spec/html/proofer/fixtures/links/linkWithRedirect.html +2 -0
  11. data/spec/html/proofer/fixtures/vcr_cassettes/images/existingImageExternal_html.yml +62 -0
  12. data/spec/html/proofer/fixtures/vcr_cassettes/images/ignoreAltButNotLink_html_alt_ignore_/_/_.yml +45 -0
  13. data/spec/html/proofer/fixtures/vcr_cassettes/images/image_missing_protocol_invalid_html.yml +117 -0
  14. data/spec/html/proofer/fixtures/vcr_cassettes/images/image_missing_protocol_valid_html.yml +62 -0
  15. data/spec/html/proofer/fixtures/vcr_cassettes/images/missingImageExternal_html.yml +45 -0
  16. data/spec/html/proofer/fixtures/vcr_cassettes/links/attributeWithDash_html.yml +73 -0
  17. data/spec/html/proofer/fixtures/vcr_cassettes/links/brokenHashOnTheWeb_html.yml +56 -0
  18. data/spec/html/proofer/fixtures/vcr_cassettes/links/brokenHashOnTheWeb_html_check_external_hash_true_.yml +719 -0
  19. data/spec/html/proofer/fixtures/vcr_cassettes/links/brokenHashOnTheWeb_html_only_4xx_true_.yml +56 -0
  20. data/spec/html/proofer/fixtures/vcr_cassettes/links/brokenLinkExternal_html.yml +96 -0
  21. data/spec/html/proofer/fixtures/vcr_cassettes/links/brokenUnixLinks_html.yml +156 -0
  22. data/spec/html/proofer/fixtures/vcr_cassettes/links/checkSSLLinks_html.yml +50 -0
  23. data/spec/html/proofer/fixtures/vcr_cassettes/links/ensure_typhoeus_options_html_typhoeus_ssl_verifypeer_false_.yml +40 -0
  24. data/spec/html/proofer/fixtures/vcr_cassettes/links/escape_pipes_html.yml +52 -0
  25. data/spec/html/proofer/fixtures/vcr_cassettes/links/file_foo_ext_foo_.yml +96 -0
  26. data/spec/html/proofer/fixtures/vcr_cassettes/links/githubHash_html.yml +73 -0
  27. data/spec/html/proofer/fixtures/vcr_cassettes/links/linkWithHttps_html.yml +73 -0
  28. data/spec/html/proofer/fixtures/vcr_cassettes/links/linkWithRedirect_html.yml +236 -0
  29. data/spec/html/proofer/fixtures/vcr_cassettes/links/linkWithRedirect_html_only_4xx_true_typhoeus_followlocation_false_.yml +318 -0
  30. data/spec/html/proofer/fixtures/vcr_cassettes/links/linkWithRedirect_html_typhoeus_followlocation_false_.yml +318 -0
  31. data/spec/html/proofer/fixtures/vcr_cassettes/links/link_missing_protocol_invalid_html.yml +45 -0
  32. data/spec/html/proofer/fixtures/vcr_cassettes/links/link_missing_protocol_valid_html.yml +73 -0
  33. data/spec/html/proofer/fixtures/vcr_cassettes/links/nodupe_html.yml +182 -0
  34. data/spec/html/proofer/fixtures/vcr_cassettes/links/non_standard_characters_html.yml +113 -0
  35. data/spec/html/proofer/fixtures/vcr_cassettes/links/redirected_error_html.yml +1044 -0
  36. data/spec/html/proofer/fixtures/vcr_cassettes/links/utf8Link_html.yml +113 -0
  37. data/spec/html/proofer/fixtures/vcr_cassettes/scripts/script_broken_external_html.yml +45 -0
  38. data/spec/html/proofer/fixtures/vcr_cassettes/sorting/status_typhoeus_followlocation_false_error_sort_status_.yml +244 -0
  39. data/spec/html/proofer/fixtures/vcr_cassettes/www_garbalarba_com_href_swap_/garbalarba/_github_.yml +73 -0
  40. data/spec/html/proofer/fixtures/vcr_cassettes/www_github_com_foofoofoo_biz.yml +115 -0
  41. data/spec/html/proofer/html_spec.rb +12 -5
  42. data/spec/html/proofer/images_spec.rb +3 -3
  43. data/spec/html/proofer/links_spec.rb +6 -6
  44. data/spec/html/proofer/scripts_spec.rb +1 -2
  45. data/spec/html/proofer_spec.rb +3 -3
  46. data/spec/spec_helper.rb +27 -5
  47. metadata +78 -2
@@ -0,0 +1,96 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: head
5
+ uri: http://www.asdo3irj395295jsingrkrg4.com/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; HTML Proofer/2.3.0; +https://github.com/gjtorikian/html-proofer)
12
+ response:
13
+ status:
14
+ code: 0
15
+ message:
16
+ headers: {}
17
+ body:
18
+ encoding: UTF-8
19
+ string: ''
20
+ http_version:
21
+ adapter_metadata:
22
+ effective_url: http://www.asdo3irj395295jsingrkrg4.com/
23
+ recorded_at: Mon, 06 Jul 2015 05:07:51 GMT
24
+ - request:
25
+ method: get
26
+ uri: http://www.asdo3irj395295jsingrkrg4.com/
27
+ body:
28
+ encoding: US-ASCII
29
+ string: ''
30
+ headers:
31
+ User-Agent:
32
+ - Mozilla/5.0 (compatible; HTML Proofer/2.3.0; +https://github.com/gjtorikian/html-proofer)
33
+ response:
34
+ status:
35
+ code: 0
36
+ message:
37
+ headers: {}
38
+ body:
39
+ encoding: UTF-8
40
+ string: ''
41
+ http_version:
42
+ adapter_metadata:
43
+ effective_url: http://www.asdo3irj395295jsingrkrg4.com/
44
+ recorded_at: Mon, 06 Jul 2015 05:07:51 GMT
45
+ - request:
46
+ method: head
47
+ uri: http://www.google.com/
48
+ body:
49
+ encoding: US-ASCII
50
+ string: ''
51
+ headers:
52
+ User-Agent:
53
+ - Mozilla/5.0 (compatible; HTML Proofer/2.3.0; +https://github.com/gjtorikian/html-proofer)
54
+ response:
55
+ status:
56
+ code: 200
57
+ message: OK
58
+ headers:
59
+ Date:
60
+ - Mon, 06 Jul 2015 05:07:51 GMT
61
+ Expires:
62
+ - "-1"
63
+ Cache-Control:
64
+ - private, max-age=0
65
+ Content-Type:
66
+ - text/html; charset=UTF-8
67
+ P3P:
68
+ - CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657
69
+ for more info."
70
+ Server:
71
+ - gws
72
+ X-XSS-Protection:
73
+ - 1; mode=block
74
+ X-Frame-Options:
75
+ - SAMEORIGIN
76
+ Set-Cookie:
77
+ - PREF=ID=1111111111111111:FF=0:TM=1436159271:LM=1436159271:V=1:S=YZYWZqdhS0sLiPzW;
78
+ expires=Wed, 05-Jul-2017 05:07:51 GMT; path=/; domain=.google.com
79
+ - NID=69=NBHSC0PeeN2-rxGvVXjlsltiD7DfnM8B1ULQc-51aqFgEDfgD8NJyYEgecPreMdQDd8A3LN06XeciyxiHZ-PQGlSOH-07gTsQqpq9vnT2CDjqoVldB6gh4oJ4F2god9b;
80
+ expires=Tue, 05-Jan-2016 05:07:51 GMT; path=/; domain=.google.com; HttpOnly
81
+ Alternate-Protocol:
82
+ - 80:quic,p=0
83
+ Transfer-Encoding:
84
+ - chunked
85
+ Accept-Ranges:
86
+ - none
87
+ Vary:
88
+ - Accept-Encoding
89
+ body:
90
+ encoding: UTF-8
91
+ string: ''
92
+ http_version: '1.1'
93
+ adapter_metadata:
94
+ effective_url: http://www.google.com/
95
+ recorded_at: Mon, 06 Jul 2015 05:07:51 GMT
96
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,73 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: head
5
+ uri: https://github.com/typhoeus/typhoeus#other-curl-options
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; HTML Proofer/2.3.0; +https://github.com/gjtorikian/html-proofer)
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - GitHub.com
19
+ Date:
20
+ - Mon, 06 Jul 2015 05:07:58 GMT
21
+ Content-Type:
22
+ - text/html; charset=utf-8
23
+ Status:
24
+ - 200 OK
25
+ Content-Security-Policy:
26
+ - 'default-src *; script-src assets-cdn.github.com collector-cdn.github.com;
27
+ object-src assets-cdn.github.com; style-src ''self'' ''unsafe-inline'' ''unsafe-eval''
28
+ assets-cdn.github.com; img-src ''self'' data: assets-cdn.github.com identicons.github.com
29
+ www.google-analytics.com collector.githubapp.com *.githubusercontent.com *.gravatar.com
30
+ *.wp.com; media-src ''none''; frame-src ''self'' render.githubusercontent.com
31
+ gist.github.com www.youtube.com player.vimeo.com checkout.paypal.com; font-src
32
+ assets-cdn.github.com; connect-src ''self'' live.github.com wss://live.github.com
33
+ uploads.github.com status.github.com api.github.com www.google-analytics.com
34
+ github-cloud.s3.amazonaws.com'
35
+ Public-Key-Pins:
36
+ - max-age=300; pin-sha256="WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18="; pin-sha256="JbQbUG5JMJUoI6brnx0x3vZF6jilxsapbXGVfjhN8Fg=";
37
+ includeSubDomains
38
+ Cache-Control:
39
+ - no-cache
40
+ Vary:
41
+ - X-PJAX
42
+ - Accept-Encoding
43
+ X-UA-Compatible:
44
+ - IE=Edge,chrome=1
45
+ Set-Cookie:
46
+ - logged_in=no; domain=.github.com; path=/; expires=Fri, 06 Jul 2035 05:07:58
47
+ -0000; secure; HttpOnly
48
+ - _gh_sess=eyJzZXNzaW9uX2lkIjoiMWViYjlmYTQ3MmQzZjdkNmIzYjU3M2MxM2ZiNmE4NzgiLCJzcHlfcmVwbyI6InR5cGhvZXVzL3R5cGhvZXVzIiwic3B5X3JlcG9fYXQiOjE0MzYxNTkyNzgsIl9jc3JmX3Rva2VuIjoiaXZtbEpZblZjTEtQeE5KRXd5SHFOVUN5L3lKQWJsRGZjQmVuVENPT0t4WT0ifQ%3D%3D--e02a2821e4316e4bfc46d1b6cb2f215aeafff3c0;
49
+ path=/; secure; HttpOnly
50
+ X-Request-Id:
51
+ - 543ea1d99bc80360821eb2a934304207
52
+ X-Runtime:
53
+ - '0.060721'
54
+ X-GitHub-Request-Id:
55
+ - 490F8465:3104:27CC698:559A0D2D
56
+ Strict-Transport-Security:
57
+ - max-age=31536000; includeSubdomains; preload
58
+ X-Content-Type-Options:
59
+ - nosniff
60
+ X-XSS-Protection:
61
+ - 1; mode=block
62
+ X-Frame-Options:
63
+ - deny
64
+ X-Served-By:
65
+ - 7cc969f65c7ec8d9db2fa57dcc51d323
66
+ body:
67
+ encoding: UTF-8
68
+ string: ''
69
+ http_version: '1.1'
70
+ adapter_metadata:
71
+ effective_url: https://github.com/typhoeus/typhoeus
72
+ recorded_at: Mon, 06 Jul 2015 05:07:58 GMT
73
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,73 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: head
5
+ uri: https://github.com/octocat/Spoon-Knife/issues
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; HTML Proofer/2.3.0; +https://github.com/gjtorikian/html-proofer)
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - GitHub.com
19
+ Date:
20
+ - Mon, 06 Jul 2015 05:07:58 GMT
21
+ Content-Type:
22
+ - text/html; charset=utf-8
23
+ Status:
24
+ - 200 OK
25
+ Content-Security-Policy:
26
+ - 'default-src *; script-src assets-cdn.github.com collector-cdn.github.com;
27
+ object-src assets-cdn.github.com; style-src ''self'' ''unsafe-inline'' ''unsafe-eval''
28
+ assets-cdn.github.com; img-src ''self'' data: assets-cdn.github.com identicons.github.com
29
+ www.google-analytics.com collector.githubapp.com *.githubusercontent.com *.gravatar.com
30
+ *.wp.com; media-src ''none''; frame-src ''self'' render.githubusercontent.com
31
+ gist.github.com www.youtube.com player.vimeo.com checkout.paypal.com; font-src
32
+ assets-cdn.github.com; connect-src ''self'' live.github.com wss://live.github.com
33
+ uploads.github.com status.github.com api.github.com www.google-analytics.com
34
+ github-cloud.s3.amazonaws.com'
35
+ Public-Key-Pins:
36
+ - max-age=300; pin-sha256="WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18="; pin-sha256="JbQbUG5JMJUoI6brnx0x3vZF6jilxsapbXGVfjhN8Fg=";
37
+ includeSubDomains
38
+ Cache-Control:
39
+ - no-cache
40
+ Vary:
41
+ - X-PJAX
42
+ - Accept-Encoding
43
+ X-UA-Compatible:
44
+ - IE=Edge,chrome=1
45
+ Set-Cookie:
46
+ - logged_in=no; domain=.github.com; path=/; expires=Fri, 06 Jul 2035 05:07:58
47
+ -0000; secure; HttpOnly
48
+ - _gh_sess=eyJzZXNzaW9uX2lkIjoiOTk1NTNiYTA5ZGM0YTUxN2NmNjIxYzUyZjI5MTg3YTciLCJzcHlfcmVwbyI6Im9jdG9jYXQvU3Bvb24tS25pZmUiLCJzcHlfcmVwb19hdCI6MTQzNjE1OTI3OCwiX2NzcmZfdG9rZW4iOiJFOVRYZGpSQnhPNkV0elZoYklmR3lKNlVKM1BOODVPaXcvVFF6OGczV013PSJ9--bd72c1c7b02f12b8da0850660475c245efeb37cb;
49
+ path=/; secure; HttpOnly
50
+ X-Request-Id:
51
+ - 1faeb87c2f533997873fdca5ce422e9a
52
+ X-Runtime:
53
+ - '0.116624'
54
+ X-GitHub-Request-Id:
55
+ - 490F8465:3107:3FAE23B:559A0D2E
56
+ Strict-Transport-Security:
57
+ - max-age=31536000; includeSubdomains; preload
58
+ X-Content-Type-Options:
59
+ - nosniff
60
+ X-XSS-Protection:
61
+ - 1; mode=block
62
+ X-Frame-Options:
63
+ - deny
64
+ X-Served-By:
65
+ - 4580e595d77515caa5593194518fa90f
66
+ body:
67
+ encoding: UTF-8
68
+ string: ''
69
+ http_version: '1.1'
70
+ adapter_metadata:
71
+ effective_url: https://github.com/octocat/Spoon-Knife/issues
72
+ recorded_at: Mon, 06 Jul 2015 05:07:59 GMT
73
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,236 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: head
5
+ uri: http://github.github.com/github-flavored-markdown/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; HTML Proofer/2.3.0; +https://github.com/gjtorikian/html-proofer)
12
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Server:
18
+ - GitHub.com
19
+ Content-Type:
20
+ - text/html; charset=utf-8
21
+ Last-Modified:
22
+ - Thu, 31 Jul 2014 23:48:53 GMT
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ Expires:
26
+ - Mon, 06 Jul 2015 05:05:19 GMT
27
+ Cache-Control:
28
+ - max-age=600
29
+ Content-Length:
30
+ - '480'
31
+ Accept-Ranges:
32
+ - bytes
33
+ Date:
34
+ - Mon, 06 Jul 2015 05:08:06 GMT
35
+ Via:
36
+ - 1.1 varnish
37
+ Age:
38
+ - '0'
39
+ Connection:
40
+ - keep-alive
41
+ X-Served-By:
42
+ - cache-sjc3121-SJC
43
+ X-Cache:
44
+ - MISS
45
+ X-Cache-Hits:
46
+ - '0'
47
+ X-Timer:
48
+ - S1436159286.068897,VS0,VE73
49
+ Vary:
50
+ - Accept-Encoding
51
+ body:
52
+ encoding: UTF-8
53
+ string: ''
54
+ http_version: '1.1'
55
+ adapter_metadata:
56
+ effective_url: http://github.github.com/github-flavored-markdown/
57
+ recorded_at: Mon, 06 Jul 2015 05:08:06 GMT
58
+ - request:
59
+ method: head
60
+ uri: https://help.github.com/changing-author-info/
61
+ body:
62
+ encoding: US-ASCII
63
+ string: ''
64
+ headers:
65
+ User-Agent:
66
+ - Mozilla/5.0 (compatible; HTML Proofer/2.3.0; +https://github.com/gjtorikian/html-proofer)
67
+ response:
68
+ status:
69
+ code: 200
70
+ message: OK
71
+ headers:
72
+ Server:
73
+ - GitHub.com
74
+ Content-Type:
75
+ - text/html; charset=utf-8
76
+ Last-Modified:
77
+ - Mon, 06 Jul 2015 03:57:12 GMT
78
+ Access-Control-Allow-Origin:
79
+ - "*"
80
+ Expires:
81
+ - Mon, 06 Jul 2015 05:05:19 GMT
82
+ Cache-Control:
83
+ - max-age=600
84
+ Content-Length:
85
+ - '458'
86
+ Accept-Ranges:
87
+ - bytes
88
+ Date:
89
+ - Mon, 06 Jul 2015 05:08:06 GMT
90
+ Via:
91
+ - 1.1 varnish
92
+ Age:
93
+ - '0'
94
+ Connection:
95
+ - keep-alive
96
+ X-Served-By:
97
+ - cache-sjc3120-SJC
98
+ X-Cache:
99
+ - MISS
100
+ X-Cache-Hits:
101
+ - '0'
102
+ Vary:
103
+ - Accept-Encoding
104
+ body:
105
+ encoding: UTF-8
106
+ string: ''
107
+ http_version: '1.1'
108
+ adapter_metadata:
109
+ effective_url: https://help.github.com/changing-author-info/
110
+ recorded_at: Mon, 06 Jul 2015 05:08:06 GMT
111
+ - request:
112
+ method: head
113
+ uri: https://github.com/github/repository-sync
114
+ body:
115
+ encoding: US-ASCII
116
+ string: ''
117
+ headers:
118
+ User-Agent:
119
+ - Mozilla/5.0 (compatible; HTML Proofer/2.3.0; +https://github.com/gjtorikian/html-proofer)
120
+ response:
121
+ status:
122
+ code: 200
123
+ message: OK
124
+ headers:
125
+ Server:
126
+ - GitHub.com
127
+ Date:
128
+ - Mon, 06 Jul 2015 05:08:06 GMT
129
+ Content-Type:
130
+ - text/html; charset=utf-8
131
+ Status:
132
+ - 200 OK
133
+ Content-Security-Policy:
134
+ - 'default-src *; script-src assets-cdn.github.com collector-cdn.github.com;
135
+ object-src assets-cdn.github.com; style-src ''self'' ''unsafe-inline'' ''unsafe-eval''
136
+ assets-cdn.github.com; img-src ''self'' data: assets-cdn.github.com identicons.github.com
137
+ www.google-analytics.com collector.githubapp.com *.githubusercontent.com *.gravatar.com
138
+ *.wp.com; media-src ''none''; frame-src ''self'' render.githubusercontent.com
139
+ gist.github.com www.youtube.com player.vimeo.com checkout.paypal.com; font-src
140
+ assets-cdn.github.com; connect-src ''self'' live.github.com wss://live.github.com
141
+ uploads.github.com status.github.com api.github.com www.google-analytics.com
142
+ github-cloud.s3.amazonaws.com'
143
+ Public-Key-Pins:
144
+ - max-age=300; pin-sha256="WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18="; pin-sha256="JbQbUG5JMJUoI6brnx0x3vZF6jilxsapbXGVfjhN8Fg=";
145
+ includeSubDomains
146
+ Cache-Control:
147
+ - no-cache
148
+ Vary:
149
+ - X-PJAX
150
+ - Accept-Encoding
151
+ X-UA-Compatible:
152
+ - IE=Edge,chrome=1
153
+ Set-Cookie:
154
+ - logged_in=no; domain=.github.com; path=/; expires=Fri, 06 Jul 2035 05:08:06
155
+ -0000; secure; HttpOnly
156
+ - _gh_sess=eyJzZXNzaW9uX2lkIjoiYzIzNjk4NzQyYjU3NGY4ODUwYzg2MmI2MThmYTQ0NDUiLCJzcHlfcmVwbyI6ImdqdG9yaWtpYW4vcmVwb3NpdG9yeS1zeW5jIiwic3B5X3JlcG9fYXQiOjE0MzYxNTkyODYsIl9jc3JmX3Rva2VuIjoiZjBENDNzQzFRYkthQktROGR4NnpMRjJ2Qlo2aXF4Qjkxcmd3V0JHYmdrOD0ifQ%3D%3D--fcff0813fbbda1af3d5ae95378d50319b3659bee;
157
+ path=/; secure; HttpOnly
158
+ X-Request-Id:
159
+ - a9f3df6d97e671604d0d812fa82593b2
160
+ X-Runtime:
161
+ - '0.063824'
162
+ X-GitHub-Request-Id:
163
+ - 490F8465:3105:32FD2E1:559A0D36
164
+ Strict-Transport-Security:
165
+ - max-age=31536000; includeSubdomains; preload
166
+ X-Content-Type-Options:
167
+ - nosniff
168
+ X-XSS-Protection:
169
+ - 1; mode=block
170
+ X-Frame-Options:
171
+ - deny
172
+ X-Served-By:
173
+ - a22dbcbd09a98eacdd14ac7804a635dd
174
+ body:
175
+ encoding: UTF-8
176
+ string: ''
177
+ http_version: '1.1'
178
+ adapter_metadata:
179
+ effective_url: https://github.com/gjtorikian/repository-sync
180
+ recorded_at: Mon, 06 Jul 2015 05:08:07 GMT
181
+ - request:
182
+ method: head
183
+ uri: http://timclem.wordpress.com/2012/03/01/mind-the-end-of-your-line/
184
+ body:
185
+ encoding: US-ASCII
186
+ string: ''
187
+ headers:
188
+ User-Agent:
189
+ - Mozilla/5.0 (compatible; HTML Proofer/2.3.0; +https://github.com/gjtorikian/html-proofer)
190
+ response:
191
+ status:
192
+ code: 200
193
+ message: OK
194
+ headers:
195
+ Server:
196
+ - GitHub.com
197
+ Content-Type:
198
+ - text/html; charset=utf-8
199
+ Last-Modified:
200
+ - Sat, 30 May 2015 21:47:35 GMT
201
+ Access-Control-Allow-Origin:
202
+ - "*"
203
+ Expires:
204
+ - Mon, 06 Jul 2015 05:18:06 GMT
205
+ Cache-Control:
206
+ - max-age=600
207
+ Content-Length:
208
+ - '17023'
209
+ Accept-Ranges:
210
+ - bytes
211
+ Date:
212
+ - Mon, 06 Jul 2015 05:08:06 GMT
213
+ Via:
214
+ - 1.1 varnish
215
+ Age:
216
+ - '0'
217
+ Connection:
218
+ - keep-alive
219
+ X-Served-By:
220
+ - cache-lax1433-LAX
221
+ X-Cache:
222
+ - MISS
223
+ X-Cache-Hits:
224
+ - '0'
225
+ X-Timer:
226
+ - S1436159286.886550,VS0,VE69
227
+ Vary:
228
+ - Accept-Encoding
229
+ body:
230
+ encoding: UTF-8
231
+ string: ''
232
+ http_version: '1.1'
233
+ adapter_metadata:
234
+ effective_url: http://adaptivepatchwork.com/2012/03/01/mind-the-end-of-your-line/
235
+ recorded_at: Mon, 06 Jul 2015 05:08:07 GMT
236
+ recorded_with: VCR 2.9.3