File tree Expand file tree Collapse file tree 2 files changed +17
-2
lines changed
lib/travis/api/app/middleware Expand file tree Collapse file tree 2 files changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,10 @@ class UserAgentTracker < Middleware
11
11
"Opera" , "Mozilla"
12
12
]
13
13
14
+ PATHS_IGNORED = [
15
+ '/uptime'
16
+ ]
17
+
14
18
attr_reader :metrik_prefix
15
19
16
20
before do
@@ -22,11 +26,13 @@ class UserAgentTracker < Middleware
22
26
end
23
27
24
28
before ( agent : /^$/ ) do
29
+ return if PATHS_IGNORED . include? ( request . path )
25
30
::Metriks . meter ( "#{ metrik_prefix } .user_agent.missing" ) . mark
26
31
halt ( 400 , "error" => "missing User-Agent header" ) if Travis ::Features . feature_active? ( :require_user_agent )
27
32
end
28
33
29
34
before ( agent : /^.+$/ ) do
35
+ return if PATHS_IGNORED . include? ( request . path )
30
36
agent = UserAgent . parse ( request . user_agent )
31
37
case agent . browser
32
38
when *WEB_BROWSERS
Original file line number Diff line number Diff line change 3
3
mock_app do
4
4
use Travis ::Api ::App ::Middleware ::UserAgentTracker
5
5
get ( '/' ) { 'ok' }
6
+ get ( '/uptime' ) { 'OK' }
6
7
end
7
8
end
8
9
9
10
def expect_meter ( name )
10
11
allow ( Metriks ) . to receive ( :meter ) . with ( name ) . and_return ( double ( "meter" , mark : nil ) )
11
12
end
12
13
13
- def get ( env = { } )
14
+ def get ( env = { } , path = '/' )
14
15
env [ 'HTTP_USER_AGENT' ] ||= agent if agent
15
- super ( '/' , { } , env )
16
+ super ( path , { } , env )
16
17
end
17
18
18
19
context 'missing User-Agent' do
@@ -99,4 +100,12 @@ def get(env = {})
99
100
get
100
101
end
101
102
end
103
+
104
+ context 'get /uptime' do
105
+ let ( :agent ) { 'Travis/1.6.8 (Mac OS X 10.9.2 like Darwin; Ruby 2.1.1p42; RubyGems 2.0.14) Faraday/0.8.9 Typhoeus/0.6.7' }
106
+ specify do
107
+ expect ( Metriks ) . to_not receive ( :meter )
108
+ get ( { } , '/uptime' )
109
+ end
110
+ end
102
111
end
You can’t perform that action at this time.
0 commit comments