seojs 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/seojs/middleware.rb +3 -2
- data/seojs.gemspec +2 -2
- data/test/test_middleware.rb +15 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c6bac83d604b383b340e9eaffb46b25ee571c43
|
4
|
+
data.tar.gz: e8da2edcca89240184556617a5f490cbdeb614db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 252767b690f3a752694581401f3cfaa919375337660f8f44d7c87d13b06cb1d9dd5d295d5ed5deeedddf22c8c155a94256143834b28d405956c914cc803863d7
|
7
|
+
data.tar.gz: 0d2f19cc4fa4ed2935452ee490ca70c5dfbdd4c3bddfab74ae112defd2c24de7e1a559210af56d7082a09f53c93292e49c8a7342583391d49fc94cac171871c4
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.9
|
data/lib/seojs/middleware.rb
CHANGED
@@ -12,7 +12,7 @@ module Seojs
|
|
12
12
|
@env = env
|
13
13
|
|
14
14
|
if test?
|
15
|
-
return [ 200, {"Content-Type" => "text/html"}, 'SEO.js Middleware Found!' ]
|
15
|
+
return [ 200, {"Content-Type" => "text/html"}, ['SEO.js Middleware Found!'] ]
|
16
16
|
elsif Seojs.url && escaped_fragment_query?
|
17
17
|
triplet = get_snapshot
|
18
18
|
return triplet if triplet
|
@@ -42,6 +42,7 @@ module Seojs
|
|
42
42
|
v = headers[k]
|
43
43
|
headers[k] = v.join(', ') if v.kind_of? Array
|
44
44
|
end
|
45
|
+
headers.delete("status") if headers.key?("status")
|
45
46
|
[snapshot_response.code, headers, body]
|
46
47
|
else
|
47
48
|
nil
|
@@ -73,7 +74,7 @@ module Seojs
|
|
73
74
|
end.map do |k, v|
|
74
75
|
[reconstruct_header_name(k), v]
|
75
76
|
end.select do |k,v|
|
76
|
-
["IF-NONE-MATCH", "IF-MODIFIED-SINCE", "CACHE-CONTROL"].include? k
|
77
|
+
["IF-NONE-MATCH", "IF-MODIFIED-SINCE", "CACHE-CONTROL", "USER-AGENT"].include? k
|
77
78
|
end
|
78
79
|
Hash[headers]
|
79
80
|
end
|
data/seojs.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "seojs"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.9"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["getseojs.com"]
|
12
|
-
s.date = "2013-10-
|
12
|
+
s.date = "2013-10-16"
|
13
13
|
s.description = "SEO.js makes your BackboneJS, AngularJS or EmberJS apps crawlable by Google to make them appear in search results."
|
14
14
|
s.email = "hello@getseojs.com"
|
15
15
|
s.extra_rdoc_files = [
|
data/test/test_middleware.rb
CHANGED
@@ -81,6 +81,21 @@ class TestMiddleware < Test::Unit::TestCase
|
|
81
81
|
assert_equal 'Snapshot!', last_response.body
|
82
82
|
end
|
83
83
|
|
84
|
+
def test_forward_user_agent
|
85
|
+
Seojs.token = 'token'
|
86
|
+
request = {}
|
87
|
+
request.expects(:[]=).with('USER-AGENT', 'Googlebot')
|
88
|
+
Net::HTTP::Get.expects(:new)
|
89
|
+
.with(equals("http://cdn.getseojs.com/snapshots/token/v3/http://example.org:80/hi?_escaped_fragment_="))
|
90
|
+
.returns(request)
|
91
|
+
Net::HTTP.expects(:start)
|
92
|
+
.returns(build_response('Snapshot!', 200, {'ETAG'=>'abc'}))
|
93
|
+
get '/hi', {:_escaped_fragment_ => ''}, {'HTTP_USER_AGENT' => 'Googlebot'}
|
94
|
+
assert_equal 'abc', last_response.headers['ETAG']
|
95
|
+
assert last_response.ok?
|
96
|
+
assert_equal 'Snapshot!', last_response.body
|
97
|
+
end
|
98
|
+
|
84
99
|
def test_fallback_if_not_found
|
85
100
|
Seojs.token = 'token'
|
86
101
|
Net::HTTP::Get.expects(:new)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: seojs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- getseojs.com
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sinatra
|