You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by shukitchan <gi...@git.apache.org> on 2016/10/20 01:24:03 UTC

[GitHub] trafficserver pull request #1127: [TS-4990] support new apis in ts_lua

GitHub user shukitchan opened a pull request:

    https://github.com/apache/trafficserver/pull/1127

    [TS-4990] support new apis in ts_lua

    support new apis in ts_lua
    
    @jpeach pls take a look and review. Thanks.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/shukitchan/trafficserver newapi

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/trafficserver/pull/1127.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1127
    
----
commit 47657cdf5a901e8fcdba61809188b1dd588b8318
Author: Kit Chan <ki...@apache.org>
Date:   2016-10-19T09:14:52Z

    adding new APIs support

commit 220db583c032f18a338a7fe58e697614ee0e3b80
Author: Kit Chan <ki...@apache.org>
Date:   2016-10-20T01:16:31Z

    doc error fix

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver pull request #1127: [TS-4990] support new apis in ts_lua

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1127#discussion_r85234779
  
    --- Diff: plugins/experimental/ts_lua/ts_lua_http.c ---
    @@ -387,6 +411,52 @@ ts_lua_http_set_cache_lookup_url(lua_State *L)
     }
     
     static int
    +ts_lua_http_get_parent_proxy(lua_State *L)
    +{
    +  const char *hostname = NULL;
    +  int port             = 0;
    +  ts_lua_http_ctx *http_ctx;
    +
    +  GET_HTTP_CONTEXT(http_ctx, L);
    +
    +  TSHttpTxnParentProxyGet(http_ctx->txnp, &hostname, &port);
    +
    +  if (hostname == NULL) {
    +    lua_pushnil(L);
    +  } else {
    +    lua_pushstring(L, hostname);
    +  }
    +  lua_pushnumber(L, port);
    +
    +  return 2;
    +}
    +
    +static int
    +ts_lua_http_set_parent_proxy(lua_State *L)
    +{
    +  int n = 0;
    +  const char *hostname;
    +  size_t hostname_len;
    +  int port = 0;
    +  const char *target;
    +
    +  ts_lua_http_ctx *http_ctx;
    +
    +  GET_HTTP_CONTEXT(http_ctx, L);
    +
    +  n = lua_gettop(L);
    +
    +  if (n == 2) {
    --- End diff --
    
    Throw an error if `n != 2`?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1127: TS-4990: Support new apis in ts_lua.

Posted by atsci <gi...@git.apache.org>.
Github user atsci commented on the issue:

    https://github.com/apache/trafficserver/pull/1127
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/1175/ for details.
     



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1127: TS-4990: Support new apis in ts_lua.

Posted by atsci <gi...@git.apache.org>.
Github user atsci commented on the issue:

    https://github.com/apache/trafficserver/pull/1127
  
    Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/1068/ for details.
     



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1127: [TS-4990] support new apis in ts_lua

Posted by atsci <gi...@git.apache.org>.
Github user atsci commented on the issue:

    https://github.com/apache/trafficserver/pull/1127
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/1058/ for details.
     



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver pull request #1127: [TS-4990] support new apis in ts_lua

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1127#discussion_r85235598
  
    --- Diff: plugins/experimental/ts_lua/ts_lua_server_request.c ---
    @@ -755,3 +765,46 @@ ts_lua_server_request_server_addr_get_addr(lua_State *L)
     
       return 3;
     }
    +
    +static int
    +ts_lua_server_request_server_addr_set_addr(lua_State *L)
    +{
    +  struct sockaddr_in addr4;
    +  struct sockaddr_in6 addr6;
    --- End diff --
    
    ```C
    union {
        struct sockaddr_in sin4;
        struct sockaddr_in6 sin6;
        struct sockaddr sa;
    } addr;
    ...
    
    TSHttpTxnServerAddrSet(http_ctx->txnp, &addr.sa);


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1127: TS-4990: Support new apis in ts_lua.

Posted by atsci <gi...@git.apache.org>.
Github user atsci commented on the issue:

    https://github.com/apache/trafficserver/pull/1127
  
    Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/1054/ for details.
     



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1127: [TS-4990] support new apis in ts_lua

Posted by shukitchan <gi...@git.apache.org>.
Github user shukitchan commented on the issue:

    https://github.com/apache/trafficserver/pull/1127
  
    @jpeach, I have updated the PR according to the comments. Please take a look.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1127: TS-4990: Support new apis in ts_lua.

Posted by atsci <gi...@git.apache.org>.
Github user atsci commented on the issue:

    https://github.com/apache/trafficserver/pull/1127
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/1161/ for details.
     



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver pull request #1127: [TS-4990] support new apis in ts_lua

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1127#discussion_r85234954
  
    --- Diff: plugins/experimental/ts_lua/ts_lua_http.c ---
    @@ -526,6 +596,69 @@ ts_lua_http_resp_cache_untransformed(lua_State *L)
     }
     
     static int
    +ts_lua_http_get_client_protocol_stack(lua_State *L)
    +{
    +  char const *results[10];
    +  int count = 0;
    +  ts_lua_http_ctx *http_ctx;
    +
    +  GET_HTTP_CONTEXT(http_ctx, L);
    +
    +  TSHttpTxnClientProtocolStackGet(http_ctx->txnp, 10, results, &count);
    +  for (int i = 0; i < count; i++) {
    +    lua_pushstring(L, results[i]);
    +  }
    +
    +  return count;
    +}
    +
    +static int
    +ts_lua_http_server_push(lua_State *L)
    +{
    +  const char *url;
    +  const char *push_url;
    +  size_t url_len;
    +  ts_lua_http_ctx *http_ctx;
    +
    +  GET_HTTP_CONTEXT(http_ctx, L);
    +
    +  url      = luaL_checklstring(L, 1, &url_len);
    +  push_url = TSstrndup(url, url_len);
    +  TSHttpTxnServerPush(http_ctx->txnp, push_url, url_len);
    +
    +  return 0;
    +}
    +
    +static int
    +ts_lua_http_is_websocket(lua_State *L)
    +{
    +  ts_lua_http_ctx *http_ctx;
    +
    +  GET_HTTP_CONTEXT(http_ctx, L);
    +
    +  if (TSHttpTxnIsWebsocket(http_ctx->txnp)) {
    --- End diff --
    
    Consider:
    ```C
    lua_pushboolean(L, TSHttpTxnIsWebsocket(http_ctx->txnp));
    ```


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1127: [TS-4990] support new apis in ts_lua

Posted by atsci <gi...@git.apache.org>.
Github user atsci commented on the issue:

    https://github.com/apache/trafficserver/pull/1127
  
    FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/1129/ for details.
     



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver pull request #1127: TS-4990: Support new apis in ts_lua.

Posted by shukitchan <gi...@git.apache.org>.
Github user shukitchan closed the pull request at:

    https://github.com/apache/trafficserver/pull/1127


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1127: [TS-4990] support new apis in ts_lua

Posted by atsci <gi...@git.apache.org>.
Github user atsci commented on the issue:

    https://github.com/apache/trafficserver/pull/1127
  
    Linux build *successful*! See https://ci.trafficserver.apache.org/job/Github-Linux/950/ for details.
     



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1127: [TS-4990] support new apis in ts_lua

Posted by atsci <gi...@git.apache.org>.
Github user atsci commented on the issue:

    https://github.com/apache/trafficserver/pull/1127
  
    Linux build *failed*! See https://ci.trafficserver.apache.org/job/Github-Linux/1023/ for details.
     



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1127: TS-4990: Support new apis in ts_lua.

Posted by shukitchan <gi...@git.apache.org>.
Github user shukitchan commented on the issue:

    https://github.com/apache/trafficserver/pull/1127
  
    thanks. will squash before merge.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver pull request #1127: TS-4990: Support new apis in ts_lua.

Posted by jpeach <gi...@git.apache.org>.
Github user jpeach commented on a diff in the pull request:

    https://github.com/apache/trafficserver/pull/1127#discussion_r86285707
  
    --- Diff: doc/admin-guide/plugins/ts_lua.en.rst ---
    @@ -1424,6 +1460,38 @@ We will get the output:
     
     `TOP <#ts-lua-plugin>`_
     
    +ts.server_request.server_addr.set_addr
    +--------------------------------------
    +**syntax:** *ts.server_request.server_addr.set_addr()*
    +
    +**context:** no later than function @ TS_LUA_HOOK_OS_DNS hook point
    +
    +**description**: This function can be used to set socket address of the origin server.
    +
    +The ts.server_request.server_addr.set_addr function requires three inputs, ip is a string, port and family is number.
    +
    +Here is an example:
    +
    +::
    +
    +    function do_global_read_request()
    +        ts.server_request.server_addr.set_addr("192,168,231,17", 80, TS_LUA_AF_INET)
    --- End diff --
    
    Commas?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] trafficserver issue #1127: [TS-4990] support new apis in ts_lua

Posted by shukitchan <gi...@git.apache.org>.
Github user shukitchan commented on the issue:

    https://github.com/apache/trafficserver/pull/1127
  
    @jpeach pls take a look if you get a chance. thanks.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---