[ 
https://issues.apache.org/jira/browse/TS-4627?focusedWorklogId=25615&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-25615
 ]

ASF GitHub Bot logged work on TS-4627:
--------------------------------------

                Author: ASF GitHub Bot
            Created on: 18/Jul/16 06:10
            Start Date: 18/Jul/16 06:10
    Worklog Time Spent: 10m 
      Work Description: Github user jpeach commented on a diff in the pull 
request:

    https://github.com/apache/trafficserver/pull/779#discussion_r71102843
  
    --- Diff: plugins/experimental/ts_lua/ts_lua_http.c ---
    @@ -29,8 +29,36 @@ typedef enum {
       TS_LUA_CACHE_LOOKUP_SKIPPED
     } TSLuaCacheLookupResult;
     
    -char *ts_lua_cache_lookup_result_string[] = {"TS_LUA_CACHE_LOOKUP_MISS", 
"TS_LUA_CACHE_LOOKUP_HIT_STALE",
    -                                             
"TS_LUA_CACHE_LOOKUP_HIT_FRESH", "TS_LUA_CACHE_LOOKUP_SKIPPED"};
    +typedef enum {
    +  TS_LUA_SRVSTATE_STATE_UNDEFINED,
    +  TS_LUA_SRVSTATE_ACTIVE_TIMEOUT,
    +  TS_LUA_SRVSTATE_BAD_INCOMING_RESPONSE,
    +  TS_LUA_SRVSTATE_CONNECTION_ALIVE,
    +  TS_LUA_SRVSTATE_CONNECTION_CLOSED,
    +  TS_LUA_SRVSTATE_CONNECTION_ERROR,
    +  TS_LUA_SRVSTATE_INACTIVE_TIMEOUT,
    +  TS_LUA_SRVSTATE_OPEN_RAW_ERROR,
    +  TS_LUA_SRVSTATE_PARSE_ERROR,
    +  TS_LUA_SRVSTATE_TRANSACTION_COMPLETE,
    +  TS_LUA_SRVSTATE_CONGEST_CONTROL_CONGESTED_ON_F,
    +  TS_LUA_SRVSTATE_CONGEST_CONTROL_CONGESTED_ON_M
    +} TSLuaServerState;
    +
    +const char *ts_lua_cache_lookup_result_string[] = 
{"TS_LUA_CACHE_LOOKUP_MISS", "TS_LUA_CACHE_LOOKUP_HIT_STALE",
    +                                                   
"TS_LUA_CACHE_LOOKUP_HIT_FRESH", "TS_LUA_CACHE_LOOKUP_SKIPPED"};
    +
    +const char *ts_lua_server_state_string[] = 
{"TS_LUA_SRVSTATE_STATE_UNDEFINED",
    +                                            
"TS_LUA_SRVSTATE_ACTIVE_TIMEOUT",
    +                                            
"TS_LUA_SRVSTATE_BAD_INCOMING_RESPONSE",
    +                                            
"TS_LUA_SRVSTATE_CONNECTION_ALIVE",
    +                                            
"TS_LUA_SRVSTATE_CONNECTION_CLOSED",
    +                                            
"TS_LUA_SRVSTATE_CONNECTION_ERROR",
    +                                            
"TS_LUA_SRVSTATE_INACTIVE_TIMEOUT",
    +                                            
"TS_LUA_SRVSTATE_OPEN_RAW_ERROR",
    +                                            "TS_LUA_SRVSTATE_PARSE_ERROR",
    +                                            
"TS_LUA_SRVSTATE_TRANSACTION_COMPLETE",
    +                                            
"TS_LUA_SRVSTATE_CONGEST_CONTROL_CONGESTED_ON_F",
    +                                            
"TS_LUA_SRVSTATE_CONGEST_CONTROL_CONGESTED_ON_M"};
    --- End diff --
    
    Try putting a ',' after the last element to get clang-format to be sensible.


Issue Time Tracking
-------------------

    Worklog Id:     (was: 25615)
    Time Spent: 40m  (was: 0.5h)

> ts_lua plugin - support TSRemapOSResponse() related functionality
> -----------------------------------------------------------------
>
>                 Key: TS-4627
>                 URL: https://issues.apache.org/jira/browse/TS-4627
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: Lua, Plugins
>            Reporter: Kit Chan
>            Assignee: Kit Chan
>             Fix For: 7.0.0
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> I want to add enhancement to ts_lua so I can write script to take advantage 
> of the TSRemapOSResponse() related functionality.
> here is one such example
> {code}
> function do_os_response()
>     ts.debug('do_os_response')
>     ts.http.enable_redirect(0)
>     local st = ts.http.get_server_state()
>     if st == TS_LUA_SRVSTATE_CONNECTION_ALIVE then
>       ts.debug('alive')
>       ts.http.enable_redirect(0)
>     else
>       ts.debug('not alive')
>       ts.http.redirect_url_set('http://www.cnn.com')
>       ts.hook(TS_LUA_HOOK_SEND_RESPONSE_HDR, send_response)
>     end
> end
> function send_response()
>     ts.debug('send_response')
> end
> {code}
> Basically it would allow me to do something when origin server fails to 
> connect (such as DNS error, timeout, etc)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to