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.
---