Skip to content

Commit f4d1408

Browse files
committed
Streamline logic
1 parent ff22ff0 commit f4d1408

File tree

1 file changed

+3
-10
lines changed

1 file changed

+3
-10
lines changed

lib/travis/api/app/middleware/user_agent_tracker.rb

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ class UserAgentTracker < Middleware
2525
before(agent: /^.+$/) do
2626
agent = UserAgent.parse(request.user_agent)
2727
case agent.browser
28-
when *WEB_BROWSERS then mark_browser(agent)
28+
when *WEB_BROWSERS
29+
# if X-User-Agent header is set, honor that instead
30+
mark :browser, UserAgent.parse(env['HTTP_X_USER_AGENT'] || request.user_agent).browser
2931
when "curl", "Wget" then mark(:console, agent.browser)
3032
when "travis-api-wrapper" then mark(:script, :node_js, agent.browser)
3133
when "TravisPy" then mark(:script, :python, agent.browser)
@@ -36,15 +38,6 @@ class UserAgentTracker < Middleware
3638
end
3739
end
3840

39-
def mark_browser(agent)
40-
# allows a JavaScript Client to set X-User-Agent, for instance to "travis-web" in travis-web
41-
if env['HTTP_X_USER_AGENT']
42-
mark :browser, UserAgent.parse(env['HTTP_X_USER_AGENT']).browser
43-
else
44-
mark :browser, agent.browser
45-
end
46-
end
47-
4841
def mark_travis(agent)
4942
command = agent.application.comment.detect { |c| c.start_with? "command " } if agent.application.comment
5043

0 commit comments

Comments
 (0)