This is an automated email from the ASF dual-hosted git repository.

cmcfarlen pushed a commit to branch 10.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit 334dc663e00121a12ae27f01b45ea22dc06418b4
Author: Brian Neradt <[email protected]>
AuthorDate: Mon Jul 22 13:40:52 2024 -0500

    stale_response: remove matrix parameters (#11572)
    
    This patch removes the use of matrix parameters from the stale_response
    plugin. This change prepares for the core's removal of the
    TSUrlHttpParamsGet/TSUrlHttpParamsSet API since the matrix parameter
    values will be included in the TSUrlPathGet/TSUrlPathSet API.
    
    (cherry picked from commit c46068d5cf3a630a9c6352946ba87f50f8b57067)
---
 .../experimental/stale_response/UrlComponents.h    | 84 ++++------------------
 1 file changed, 15 insertions(+), 69 deletions(-)

diff --git a/plugins/experimental/stale_response/UrlComponents.h 
b/plugins/experimental/stale_response/UrlComponents.h
index de651be876..dac237a966 100644
--- a/plugins/experimental/stale_response/UrlComponents.h
+++ b/plugins/experimental/stale_response/UrlComponents.h
@@ -42,20 +42,17 @@ struct UrlComponents {
     int host_len;
     int path_len;
     int query_len;
-    int matrix_len;
 
     const char *scheme = TSUrlSchemeGet(bufp, urlLoc, &scheme_len);
     const char *host   = TSUrlHostGet(bufp, urlLoc, &host_len);
     const char *path   = TSUrlPathGet(bufp, urlLoc, &path_len);
     const char *query  = TSUrlHttpQueryGet(bufp, urlLoc, &query_len);
-    const char *matrix = TSUrlHttpParamsGet(bufp, urlLoc, &matrix_len);
     _port              = TSUrlPortGet(bufp, urlLoc);
 
     _scheme.assign(scheme, scheme_len);
     _host.assign(host, host_len);
     _path.assign(path, path_len);
     _query.assign(query, query_len);
-    _matrix.assign(matrix, matrix_len);
   }
 
   // get entire url (e.g.http://host/path?query)
@@ -65,29 +62,25 @@ struct UrlComponents {
     // schemeExtra= :// = 3
     // portExtra = :xxxxx = 6
     // just in case extra = 32
-    size_t iLen = _scheme.size() + _host.size() + _path.size() + _query.size() 
+ _matrix.size() + 3 + 6 + 32;
+    size_t iLen = _scheme.size() + _host.size() + _path.size() + _query.size() 
+ 3 + 6 + 32;
     url.reserve(iLen);
 
-    const int bitAddPort   = 1;
-    const int bitAddQuery  = 1 << 1;
-    const int bitAddMatrix = 1 << 2;
-    int       bitField     = bitAddPort; // add port by default
+    const int bitAddPort  = 1;
+    const int bitAddQuery = 1 << 1;
+    int       bitField    = bitAddPort; // add port by default
     if ((_scheme.compare("http") == 0 && _port == 80) || 
(_scheme.compare("https") == 0 && _port == 443)) {
       bitField &= ~bitAddPort;
     }
     if (_query.size() != 0) {
       bitField |= bitAddQuery;
     }
-    if (_matrix.size() != 0) {
-      bitField |= bitAddMatrix;
-    }
 
     switch (bitField) {
-    case 0: // default port, no query, no matrix
+    case 0: // default port, no query
       url = _scheme + "://" + _host + "/" + _path;
       break;
 
-    case bitAddPort: { //  port, no query, no matrix
+    case bitAddPort: { //  port, no query
       char sTemp[PORT_BUFFER_SIZE];
       url = _scheme + "://" + _host + ":";
       snprintf(sTemp, PORT_BUFFER_SIZE, "%d", _port);
@@ -96,19 +89,12 @@ struct UrlComponents {
       break;
     }
 
-    case bitAddQuery: //  default port, with query, no matrix
+    case bitAddQuery: //  default port, with query
       url = _scheme + "://" + _host + "/" + _path + "?" + _query;
       break;
-    case bitAddQuery | bitAddMatrix: //  default port, with query, with matrix 
(even possible?)
-      url = _scheme + "://" + _host + "/" + _path + ";" + _matrix + "?" + 
_query;
-      break;
-
-    case bitAddMatrix: //  default port, no query, with matrix
-      url = _scheme + "://" + _host + "/" + _path + ";" + _matrix;
-      break;
 
-    case bitAddPort | bitAddQuery: //  port, with query, no matrix
-    {                              // port, with query, with matrix (even 
possible?)
+    case bitAddPort | bitAddQuery: //  port, with query
+    {                              //  port, with query (even possible?)
       char sTemp[PORT_BUFFER_SIZE];
       url = _scheme + "://" + _host + ":";
       snprintf(sTemp, PORT_BUFFER_SIZE, "%d", _port);
@@ -116,61 +102,32 @@ struct UrlComponents {
       url += "/" + _path + "?" + _query;
       break;
     }
-
-    case bitAddPort | bitAddQuery | bitAddMatrix: { // port, with query, with 
matrix (even possible?)
-      char sTemp[PORT_BUFFER_SIZE];
-      url = _scheme + "://" + _host + ":";
-      snprintf(sTemp, PORT_BUFFER_SIZE, "%d", _port);
-      url += sTemp;
-      url += "/" + _path + ";" + _matrix + "?" + _query;
-      break;
-    }
-
-    case bitAddPort | bitAddMatrix: { //  port, no query, with matrix
-      char sTemp[PORT_BUFFER_SIZE];
-      url = _scheme + "://" + _host + ":";
-      snprintf(sTemp, PORT_BUFFER_SIZE, "%d", _port);
-      url += sTemp;
-      url += "/" + _path + ";" + _matrix;
-      break;
-    }
     }
   }
 
-  // get path w/query or matrix
+  // get path w/query
   void
   getCompletePathString(std::string &p)
   {
     // schemeExtra= :// = 3
     // portExtra = :xxxxx = 6
     // just in case extra = 32
-    size_t iLen = _path.size() + _query.size() + _matrix.size() + 3 + 6 + 32;
+    size_t iLen = _path.size() + _query.size() + 3 + 6 + 32;
     p.reserve(iLen);
 
-    int       bitField     = 0;
-    const int bitAddQuery  = 1 << 1;
-    const int bitAddMatrix = 1 << 2;
+    int       bitField    = 0;
+    const int bitAddQuery = 1 << 1;
     if (_query.size() != 0) {
       bitField |= bitAddQuery;
     }
-    if (_matrix.size() != 0) {
-      bitField |= bitAddMatrix;
-    }
 
     switch (bitField) {
-    case bitAddQuery: //  default path, with query, no matrix
+    case bitAddQuery: //  default path, with query
       p = "/" + _path + "?" + _query;
       break;
-    case bitAddQuery | bitAddMatrix: //  default path, with query, with matrix 
(even possible?)
-      p = "/" + _path + ";" + _matrix + "?" + _query;
-      break;
-
-    case bitAddMatrix: //  default port, no query, with matrix
-      p = "/" + _path + ";" + _matrix;
-      break;
 
     default:
-    case 0: // default path, no query, no matrix
+    case 0: // default path, no query
       p = "/" + _path;
       break;
     }
@@ -212,11 +169,6 @@ struct UrlComponents {
     _query = q;
   };
   void
-  setMatrix(std::string &m)
-  {
-    _matrix = m;
-  };
-  void
   setPoinht(int p)
   {
     _port = p;
@@ -242,11 +194,6 @@ struct UrlComponents {
   {
     return _query;
   };
-  const std::string &
-  getMatrix()
-  {
-    return _matrix;
-  };
   int
   getPort()
   {
@@ -260,6 +207,5 @@ private:
   std::string _host;
   std::string _path;
   std::string _query;
-  std::string _matrix;
   int         _port;
 };

Reply via email to