【发布时间】:2016-12-25 08:43:20
【问题描述】:
我有各种各样的要求。以其中两个请求为例。过滤器的格式如下:
过滤器:
- REQUEST_TYPE:GET|POST|PUT|DELETE
- RELATIVE_URL:/main/index 或 / 等。
- IP:111.119.206.2或127.0.0.1等
- REQUEST_FORMAT:JS or JSON or HTML or null/blank等(注意:null/blank请求格式应视为HTML。)
- RESPONSE_CODE:“200 OK”或“401 Unauthorized”或“422 Unprocessable Entity”等
过滤器示例如下请求。如果请求中存在这些过滤器,我必须解析请求并检查这些过滤器和输出。每个过滤器的输出应包含 5 行,每行表示每个请求中每个过滤器的出现次数。
请建议我在收到输入时如何接受输入和处理,以便在最短的时间内完成此活动。
请求格式:
Started <REQUEST_TYPE> <RELATIVE_URL> for <IP> at <REQUEST_TIMESTAMP>
Processing by <CONTROLLER>#<ACTION> as <REQUEST_FORMAT>
Parameters: <Key Value pair for each parameters>
<LOG_LINE_1>
<LOG_LINE_2>
...
...
<LOG_LINE_N>
Rendered <SOME_TEMPLATE_0> (<TIMETAKEN_0>)
Rendered <SOME_TEMPLATE_1> (<TIMETAKEN_1>)
...
...
Rendered <SOME_TEMPLATE_N> (<TIMETAKEN_N>)
Completed <RESPONSE_CODE> in <OVERALL_TIME_TAKEN> (Views: <TIME_VIEWS> | ActiveRecord: <TIME_ACTIVE_RECORD> | Sphinx: <TIME_SPHINX>)
请求 1:
Started GET "/terminal/is_on?ts=1448979876581&b=Chrome&v=46.0×tamp=1448979524369&sl=1421&tabOpened=1448979396.012" for 127.0.0.1 at Tue Dec 01 19:54:36 +0530 2015
Processing by TerminalController#is_on as JSON
Parameters: {"tabOpened"=>"1448979396.012", "v"=>"46.0", "b"=>"Chrome", "ts"=>"1448979876581", "sl"=>"1421", "timestamp"=>"1448979524369"}
[BS_SESSION_LOG 218] 3 : Tue Dec 01 19:54:37 +0530 2015 : /terminal/is_on : before request
LIVE SESSION LOGS [Tue Dec 01 14:24:37 UTC 2015] [SummaryLog Transition] - User: 3 - Inside terminal#is_on - sl - 1421 - Session: 627632189903c04da7801aafbac4d992 - bs_session_id: 218
UnLocking session id 627632189903c04da7801aafbac4d992, bs_session id: 627632189903c04da7801aafbac4d992
[BS_SESSION_LOG 218] 3 : Tue Dec 01 19:54:37 +0530 2015 : /terminal/is_on : after request : true
Completed 200 OK in 446ms (Views: 11.1ms | ActiveRecord: 14.0ms | Sphinx: 0.0ms)
请求 2:
Started GET "/status/is_new?ts=1448979876581" for 127.0.0.1 at Tue Dec 01 20:01:18 +0530 2015
Processing by TerminalController#is_on as JSON
Parameters: {"tabOpened"=>"1448979396.012", "v"=>"46.0", "b"=>"Chrome", "ts"=>"1448980278551", "sl"=>"1421", "timestamp"=>"1448979524369"}
[BS_SESSION_LOG 218] 3 : Tue Dec 01 20:01:19 +0530 2015 : /terminal/is_on : before request
LIVE SESSION LOGS [Tue Dec 01 14:31:19 UTC 2015] [SummaryLog Transition] - User: 3 - Inside terminal#is_on - sl - 1421 - Session: 627632189903c04da7801aafbac4d992 - bs_session_id: 218
UnLocking session id 627632189903c04da7801aafbac4d992, bs_session id: 627632189903c04da7801aafbac4d992
[BS_SESSION_LOG 218] 3 : Tue Dec 01 20:01:19 +0530 2015 : /terminal/is_on : after request : true
Completed 200 OK in 539ms (Views: 9.0ms | ActiveRecord: 22.4ms | Sphinx: 0.0ms)
过滤器是:
- 获取
- /terminal/is_on?ts=1448979663546&b=Chrome&v=46.0×tamp=1448979524369&sl=1421&tabOpened=1448979396.012
- 127.0.0.1
- JSON
- 200 正常
输出:
2
1
2
2
2
【问题讨论】: