You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ki...@apache.org on 2015/03/02 22:15:35 UTC
[1/2] trafficserver git commit: TS-2721: add more hook support for
atscppapi
Repository: trafficserver
Updated Branches:
refs/heads/master 4cbbf2c8f -> 0c697b238
TS-2721: add more hook support for atscppapi
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/7bedd881
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/7bedd881
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/7bedd881
Branch: refs/heads/master
Commit: 7bedd881a09438e99a7e49b84b6e8ef9420742eb
Parents: 4cbbf2c
Author: Sandeep Davu <sa...@gmail.com>
Authored: Mon Mar 2 20:04:50 2015 +0000
Committer: Kit Chan <ki...@apache.org>
Committed: Mon Mar 2 20:04:50 2015 +0000
----------------------------------------------------------------------
lib/atscppapi/src/Plugin.cc | 6 +++++-
lib/atscppapi/src/include/atscppapi/Plugin.h | 26 ++++++++++++++++++++++-
lib/atscppapi/src/utils_internal.cc | 21 ++++++++++++++++++
3 files changed, 51 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/7bedd881/lib/atscppapi/src/Plugin.cc
----------------------------------------------------------------------
diff --git a/lib/atscppapi/src/Plugin.cc b/lib/atscppapi/src/Plugin.cc
index dd8d603..214d278 100644
--- a/lib/atscppapi/src/Plugin.cc
+++ b/lib/atscppapi/src/Plugin.cc
@@ -26,6 +26,10 @@ const std::string atscppapi::HOOK_TYPE_STRINGS[] = { std::string("HOOK_READ_REQU
std::string("HOOK_SEND_REQUEST_HEADERS"),
std::string("HOOK_READ_RESPONSE_HEADERS"),
std::string("HOOK_SEND_RESPONSE_HEADERS"),
- std::string("HOOK_OS_DNS")
+ std::string("HOOK_OS_DNS"),
+ std::string("HOOK_READ_REQUEST_HEADERS"),
+ std::string("HOOK_READ_CACHE_HEADERS"),
+ std::string("HOOK_CACHE_LOOKUP_COMPLETE"),
+ std::string("HOOK_SELECT_ALT")
};
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/7bedd881/lib/atscppapi/src/include/atscppapi/Plugin.h
----------------------------------------------------------------------
diff --git a/lib/atscppapi/src/include/atscppapi/Plugin.h b/lib/atscppapi/src/include/atscppapi/Plugin.h
index 677a3bd..ce1d943 100644
--- a/lib/atscppapi/src/include/atscppapi/Plugin.h
+++ b/lib/atscppapi/src/include/atscppapi/Plugin.h
@@ -54,7 +54,11 @@ public:
HOOK_SEND_REQUEST_HEADERS, /**< This hook will be fired right before request headers are sent to the origin */
HOOK_READ_RESPONSE_HEADERS, /**< This hook will be fired right after response headers have been read from the origin */
HOOK_SEND_RESPONSE_HEADERS, /**< This hook will be fired right before the response headers are sent to the client */
- HOOK_OS_DNS /**< This hook will be fired right after the OS DNS lookup */
+ HOOK_OS_DNS, /**< This hook will be fired right after the OS DNS lookup */
+ HOOK_READ_REQUEST_HEADERS, /**< This hook will be fired after the request is read. */
+ HOOK_READ_CACHE_HEADERS, /**< This hook will be fired after the CACHE hdrs. */
+ HOOK_CACHE_LOOKUP_COMPLETE, /**< This hook will be fired after caceh lookup complete. */
+ HOOK_SELECT_ALT /**< This hook will be fired after select alt. */
};
/**
@@ -87,6 +91,26 @@ public:
*/
virtual void handleOsDns(Transaction &transaction) { transaction.resume(); };
+ /**
+ * This method must be implemented when you hook HOOK_READ_REQUEST_HEADERS
+ */
+ virtual void handleReadRequestHeaders(Transaction &transaction) { transaction.resume(); };
+
+ /**
+ * This method must be implemented when you hook HOOK_READ_CACHE_HEADERS
+ */
+ virtual void handleReadCacheHeaders(Transaction &transaction) { transaction.resume(); };
+
+ /**
+ * This method must be implemented when you hook HOOK_CACHE_LOOKUP_COMPLETE
+ */
+ virtual void handleReadCacheLookupComplete(Transaction &transaction) { transaction.resume(); };
+
+ /**
+ * This method must be implemented when you hook HOOK_SELECT_ALT
+ */
+ virtual void handleSelectAlt(Transaction &transaction) { transaction.resume(); };
+
virtual ~Plugin() { };
protected:
/**
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/7bedd881/lib/atscppapi/src/utils_internal.cc
----------------------------------------------------------------------
diff --git a/lib/atscppapi/src/utils_internal.cc b/lib/atscppapi/src/utils_internal.cc
index 236def8..12538c7 100644
--- a/lib/atscppapi/src/utils_internal.cc
+++ b/lib/atscppapi/src/utils_internal.cc
@@ -122,6 +122,19 @@ void inline invokePluginForEvent(Plugin *plugin, TSHttpTxn ats_txn_handle, TSEve
case TS_EVENT_HTTP_OS_DNS:
plugin->handleOsDns(transaction);
break;
+ case TS_EVENT_HTTP_READ_REQUEST_HDR:
+ plugin->handleReadRequestHeaders(transaction);
+ break;
+ case TS_EVENT_HTTP_READ_CACHE_HDR:
+ plugin->handleReadCacheHeaders(transaction);
+ break;
+ case TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE:
+ plugin->handleReadCacheLookupComplete(transaction);
+ break;
+ case TS_EVENT_HTTP_SELECT_ALT:
+ plugin->handleSelectAlt(transaction);
+ break;
+
default:
assert(false); /* we should never get here */
break;
@@ -158,6 +171,14 @@ TSHttpHookID utils::internal::convertInternalHookToTsHook(Plugin::HookType hookt
return TS_HTTP_SEND_RESPONSE_HDR_HOOK;
case Plugin::HOOK_OS_DNS:
return TS_HTTP_OS_DNS_HOOK;
+ case Plugin::HOOK_READ_REQUEST_HEADERS:
+ return TS_HTTP_READ_REQUEST_HDR_HOOK;
+ case Plugin::HOOK_READ_CACHE_HEADERS:
+ return TS_HTTP_READ_CACHE_HDR_HOOK;
+ case Plugin::HOOK_CACHE_LOOKUP_COMPLETE:
+ return TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK;
+ case Plugin::HOOK_SELECT_ALT:
+ return TS_HTTP_SELECT_ALT_HOOK;
default:
assert(false); // shouldn't happen, let's catch it early
break;
[2/2] trafficserver git commit: TS-2721: add more hook support for
atscppapi
Posted by ki...@apache.org.
TS-2721: add more hook support for atscppapi
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/0c697b23
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/0c697b23
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/0c697b23
Branch: refs/heads/master
Commit: 0c697b238a128b2fc80cba8e3cf1953b3b6c0c84
Parents: 7bedd88
Author: Sandeep Davu <sa...@gmail.com>
Authored: Mon Mar 2 20:05:39 2015 +0000
Committer: Kit Chan <ki...@apache.org>
Committed: Mon Mar 2 20:05:39 2015 +0000
----------------------------------------------------------------------
CHANGES | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/0c697b23/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 872ef35..ec7cc97 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
-*- coding: utf-8 -*-
Changes with Apache Traffic Server 5.3.0
+ *) [TS-2721] add more hook support for atscppapi.
+
*) [TS-3413] High CPU utiliziation when processing HTTP/2 traffic.
*) [TS-3420] Remove duplication of TS_RES_MEM_PATH, which is in apidefs.h.