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.