You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2011/02/17 04:12:13 UTC

svn commit: r1071489 [1/2] - in /trafficserver/traffic/trunk: example/add-header/ example/append-transform/ example/basic-auth/ example/gzip-transform/ example/remap/ example/response-header-1/ example/thread-pool/ proxy/ proxy/api/ts/

Author: zwoop
Date: Thu Feb 17 03:12:12 2011
New Revision: 1071489

URL: http://svn.apache.org/viewvc?rev=1071489&view=rev
Log:
TS-590 Checkpoint 3, this compiles and passes regression

Modified:
    trafficserver/traffic/trunk/example/add-header/add-header.c
    trafficserver/traffic/trunk/example/append-transform/append-transform.c
    trafficserver/traffic/trunk/example/basic-auth/basic-auth.c
    trafficserver/traffic/trunk/example/gzip-transform/gunzip.c
    trafficserver/traffic/trunk/example/gzip-transform/gzip.c
    trafficserver/traffic/trunk/example/remap/remap.cc
    trafficserver/traffic/trunk/example/response-header-1/response-header-1.c
    trafficserver/traffic/trunk/example/thread-pool/psi.c
    trafficserver/traffic/trunk/proxy/InkAPI.cc
    trafficserver/traffic/trunk/proxy/InkAPITest.cc
    trafficserver/traffic/trunk/proxy/InkAPITestTool.cc
    trafficserver/traffic/trunk/proxy/api/ts/ts.h.in

Modified: trafficserver/traffic/trunk/example/add-header/add-header.c
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/example/add-header/add-header.c?rev=1071489&r1=1071488&r2=1071489&view=diff
==============================================================================
--- trafficserver/traffic/trunk/example/add-header/add-header.c (original)
+++ trafficserver/traffic/trunk/example/add-header/add-header.c Thu Feb 17 03:12:12 2011
@@ -92,12 +92,6 @@ add_header(TSHttpTxn txnp, TSCont contp)
     TSHandleMLocRelease(req_bufp, req_loc, new_field_loc);
 
     next_field_loc = TSMimeHdrFieldNext(hdr_bufp, hdr_loc, field_loc);
-    if (next_field_loc == TS_ERROR_PTR) {
-      TSError("[add_header] Error while getting next field to add");
-      TSHandleMLocRelease(hdr_bufp, hdr_loc, field_loc);
-      goto error;
-    }
-
     TSHandleMLocRelease(hdr_bufp, hdr_loc, field_loc);
     field_loc = next_field_loc;
   }

Modified: trafficserver/traffic/trunk/example/append-transform/append-transform.c
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/example/append-transform/append-transform.c?rev=1071489&r1=1071488&r2=1071489&view=diff
==============================================================================
--- trafficserver/traffic/trunk/example/append-transform/append-transform.c (original)
+++ trafficserver/traffic/trunk/example/append-transform/append-transform.c Thu Feb 17 03:12:12 2011
@@ -269,22 +269,20 @@ transformable(TSHttpTxn txnp)
       return 0;
     }
 
-    if (TSMimeHdrFieldValueStringGet(bufp, hdr_loc, field_loc, 0, &value, &val_length) == TS_SUCCESS) {
+    value = TSMimeHdrFieldValueStringGet(bufp, hdr_loc, field_loc, 0, &val_length);
 #ifndef _WIN32
-      if (value && (strncasecmp(value, "text/html", sizeof("text/html") - 1) == 0)) {
+    if (value && (strncasecmp(value, "text/html", sizeof("text/html") - 1) == 0)) {
 #else
-      if (value && (strnicmp(value, "text/html", sizeof("text/html") - 1) == 0)) {
+    if (value && (strnicmp(value, "text/html", sizeof("text/html") - 1) == 0)) {
 #endif
-        ASSERT_SUCCESS(TSHandleMLocRelease(bufp, hdr_loc, field_loc));
-        ASSERT_SUCCESS(TSHandleMLocRelease(bufp, TS_NULL_MLOC, hdr_loc));
+      ASSERT_SUCCESS(TSHandleMLocRelease(bufp, hdr_loc, field_loc));
+      ASSERT_SUCCESS(TSHandleMLocRelease(bufp, TS_NULL_MLOC, hdr_loc));
 
-        return 1;
-      } else {
-        ASSERT_SUCCESS(TSHandleMLocRelease(bufp, hdr_loc, field_loc));
-        ASSERT_SUCCESS(TSHandleMLocRelease(bufp, TS_NULL_MLOC, hdr_loc));
-
-        return 0;
-      }
+      return 1;
+    } else {
+      ASSERT_SUCCESS(TSHandleMLocRelease(bufp, hdr_loc, field_loc));
+      ASSERT_SUCCESS(TSHandleMLocRelease(bufp, TS_NULL_MLOC, hdr_loc));
+      return 0;
     }
   }
 

Modified: trafficserver/traffic/trunk/example/basic-auth/basic-auth.c
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/example/basic-auth/basic-auth.c?rev=1071489&r1=1071488&r2=1071489&view=diff
==============================================================================
--- trafficserver/traffic/trunk/example/basic-auth/basic-auth.c (original)
+++ trafficserver/traffic/trunk/example/basic-auth/basic-auth.c Thu Feb 17 03:12:12 2011
@@ -131,14 +131,15 @@ handle_dns(TSHttpTxn txnp, TSCont contp)
     goto done;
   }
 
-  if (TSMimeHdrFieldValueStringGet(bufp, hdr_loc, field_loc, 0, &val, &authval_length) != TS_SUCCESS) {
+  val = TSMimeHdrFieldValueStringGet(bufp, hdr_loc, field_loc, 0, &authval_length);
+  if (NULL == val) {
     TSError("no value in Proxy-Authorization field\n");
     TSHandleMLocRelease(bufp, hdr_loc, field_loc);
     TSHandleMLocRelease(bufp, TS_NULL_MLOC, hdr_loc);
     goto done;
   }
-  ptr = val;
 
+  ptr = val;
   if (strncmp(ptr, "Basic", 5) != 0) {
     TSError("no Basic auth type in Proxy-Authorization\n");
     TSHandleMLocRelease(bufp, hdr_loc, field_loc);

Modified: trafficserver/traffic/trunk/example/gzip-transform/gunzip.c
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/example/gzip-transform/gunzip.c?rev=1071489&r1=1071488&r2=1071489&view=diff
==============================================================================
--- trafficserver/traffic/trunk/example/gzip-transform/gunzip.c (original)
+++ trafficserver/traffic/trunk/example/gzip-transform/gunzip.c Thu Feb 17 03:12:12 2011
@@ -443,12 +443,7 @@ gzip_transformable(TSHttpTxn txnp, int s
     return -4;
   }
 
-  if (TSMimeHdrFieldValueStringGet(bufp, hdr_loc, field_loc, 0, &value, NULL) == TS_ERROR) {
-    TSHandleMLocRelease(bufp, hdr_loc, field_loc);
-    TSHandleMLocRelease(bufp, TS_NULL_MLOC, hdr_loc);
-    return -5;
-  }
-
+  value = TSMimeHdrFieldValueStringGet(bufp, hdr_loc, field_loc, 0, NULL);
   if (value && (strncasecmp(value, "deflate", sizeof("deflate") - 1) == 0)) {
     TSHandleMLocRelease(bufp, hdr_loc, field_loc);
     TSHandleMLocRelease(bufp, TS_NULL_MLOC, hdr_loc);

Modified: trafficserver/traffic/trunk/example/gzip-transform/gzip.c
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/example/gzip-transform/gzip.c?rev=1071489&r1=1071488&r2=1071489&view=diff
==============================================================================
--- trafficserver/traffic/trunk/example/gzip-transform/gzip.c (original)
+++ trafficserver/traffic/trunk/example/gzip-transform/gzip.c Thu Feb 17 03:12:12 2011
@@ -496,7 +496,7 @@ gzip_transformable(TSHttpTxn txnp, int s
   cfield = TSMimeHdrFieldFind(cbuf, chdr, TS_MIME_FIELD_ACCEPT_ENCODING, -1);
   if (TS_NULL_MLOC != cfield) {
     nvalues = TSMimeHdrFieldValuesCount(cbuf, chdr, cfield);
-    TSMimeHdrFieldValueStringGet(cbuf, chdr, cfield, 0, &value, NULL);
+    value = TSMimeHdrFieldValueStringGet(cbuf, chdr, cfield, 0, NULL);
     deflate_flag = 0;
     i = 0;
     while (nvalues > 0) {
@@ -505,7 +505,7 @@ gzip_transformable(TSHttpTxn txnp, int s
         break;
       }
       i++;
-      TSMimeHdrFieldValueStringGet(cbuf, chdr, cfield, i, &value, NULL);
+      value = TSMimeHdrFieldValueStringGet(cbuf, chdr, cfield, i, NULL);
       nvalues--;
     }
     if (!deflate_flag) {
@@ -544,12 +544,7 @@ gzip_transformable(TSHttpTxn txnp, int s
     return -4;
   }
 
-  if (TSMimeHdrFieldValueStringGet(bufp, hdr_loc, field_loc, 0, &value, NULL) == TS_ERROR) {
-    TSHandleMLocRelease(bufp, hdr_loc, field_loc);
-    TSHandleMLocRelease(bufp, TS_NULL_MLOC, hdr_loc);
-    return -5;
-  }
-
+  value = TSMimeHdrFieldValueStringGet(bufp, hdr_loc, field_loc, 0, NULL);
   if (value && (strncasecmp(value, "text/", sizeof("text/") - 1) == 0)) {
     TSHandleMLocRelease(bufp, hdr_loc, field_loc);
     TSHandleMLocRelease(bufp, TS_NULL_MLOC, hdr_loc);

Modified: trafficserver/traffic/trunk/example/remap/remap.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/example/remap/remap.cc?rev=1071489&r1=1071488&r2=1071489&view=diff
==============================================================================
--- trafficserver/traffic/trunk/example/remap/remap.cc (original)
+++ trafficserver/traffic/trunk/example/remap/remap.cc Thu Feb 17 03:12:12 2011
@@ -331,15 +331,13 @@ tsremap_remap(ihandle ih, rhandle rh, TS
     const char *value;
     if ((cfield = TSMimeHdrFieldFind(cbuf, chdr, TS_MIME_FIELD_DATE, -1)) != TS_NULL_MLOC) {
       fprintf(stderr, "We have \"Date\" header in request\n");
-      if (TSMimeHdrFieldValueStringGet(cbuf, chdr, cfield, 0, &value, NULL) != TS_ERROR) {
-        fprintf(stderr, "Header value: %s\n", value);
-      }
+      value = TSMimeHdrFieldValueStringGet(cbuf, chdr, cfield, 0, NULL);
+      fprintf(stderr, "Header value: %s\n", value);
     }
     if ((cfield = TSMimeHdrFieldFind(cbuf, chdr, "MyHeader", sizeof("MyHeader") - 1)) != TS_NULL_MLOC) {
       fprintf(stderr, "We have \"MyHeader\" header in request\n");
-      if (TSMimeHdrFieldValueStringGet(cbuf, chdr, cfield, 0, &value, NULL) != TS_ERROR) {
-        fprintf(stderr, "Header value: %s\n", value);
-      }
+      value = TSMimeHdrFieldValueStringGet(cbuf, chdr, cfield, 0, NULL);
+      fprintf(stderr, "Header value: %s\n", value);
     }
     TSHandleMLocRelease(cbuf, chdr, cfield);
     TSHandleMLocRelease(cbuf, TS_NULL_MLOC, chdr);

Modified: trafficserver/traffic/trunk/example/response-header-1/response-header-1.c
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/example/response-header-1/response-header-1.c?rev=1071489&r1=1071488&r2=1071489&view=diff
==============================================================================
--- trafficserver/traffic/trunk/example/response-header-1/response-header-1.c (original)
+++ trafficserver/traffic/trunk/example/response-header-1/response-header-1.c Thu Feb 17 03:12:12 2011
@@ -155,8 +155,8 @@ modify_header(TSHttpTxn txnp, TSCont con
     }
 
     /* Get the cached MIME value for this name in this HTTP header */
-    if (TSMimeHdrFieldValueStringGet(cached_bufp, cached_loc, cached_field_loc, 0, &chkptr, &chklength) == TS_ERROR ||
-        NULL == chkptr || !chklength) {
+    chkptr = TSMimeHdrFieldValueStringGet(cached_bufp, cached_loc, cached_field_loc, 0, &chklength);
+    if (NULL == chkptr || !chklength) {
       TSError("Could not find value for cached MIME field name %s", mimehdr1_name);
       TSHandleMLocRelease(resp_bufp, TS_NULL_MLOC, resp_loc);
       TSHandleMLocRelease(cached_bufp, TS_NULL_MLOC, cached_loc);

Modified: trafficserver/traffic/trunk/example/thread-pool/psi.c
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/example/thread-pool/psi.c?rev=1071489&r1=1071488&r2=1071489&view=diff
==============================================================================
--- trafficserver/traffic/trunk/example/thread-pool/psi.c (original)
+++ trafficserver/traffic/trunk/example/thread-pool/psi.c Thu Feb 17 03:12:12 2011
@@ -1047,10 +1047,8 @@ transformable(TSHttpTxn txnp)
     return 0;
   }
 
-  if (TSMimeHdrFieldValueStringGet(bufp, hdr_loc, field_loc, 0, &value, NULL) == TS_ERROR) {
-    TSError("[transformable] Error while getting Content-Type field value");
-  }
-  if ((value == TS_ERROR_PTR) || (value == NULL) || (strncasecmp(value, "text/", sizeof("text/") - 1) != 0)) {
+  value = TSMimeHdrFieldValueStringGet(bufp, hdr_loc, field_loc, 0, NULL);
+  if ((value == NULL) || (strncasecmp(value, "text/", sizeof("text/") - 1) != 0)) {
     TSHandleMLocRelease(bufp, hdr_loc, field_loc);
     TSHandleMLocRelease(bufp, TS_NULL_MLOC, hdr_loc);
     return 0;

Modified: trafficserver/traffic/trunk/proxy/InkAPI.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/InkAPI.cc?rev=1071489&r1=1071488&r2=1071489&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/InkAPI.cc (original)
+++ trafficserver/traffic/trunk/proxy/InkAPI.cc Thu Feb 17 03:12:12 2011
@@ -2804,56 +2804,62 @@ TSMimeHdrFieldCopy(TSMBuffer dest_bufp, 
   return TS_SUCCESS;
 }
 
-TSMLoc
-TSMimeHdrFieldClone(TSMBuffer dest_bufp, TSMLoc dest_hdr, TSMBuffer src_bufp, TSMLoc src_hdr, TSMLoc src_field)
+TSReturnCode
+TSMimeHdrFieldClone(TSMBuffer dest_bufp, TSMLoc dest_hdr, TSMBuffer src_bufp, TSMLoc src_hdr, TSMLoc src_field, TSMLoc *locp)
 {
   // Allow to modify the buffer only
   // if bufp is modifiable. If bufp is not modifiable return
   // TS_ERROR. If not allowed, return NULL.
-  if ((sdk_sanity_check_mbuffer(dest_bufp) == TS_SUCCESS) &&
-      (sdk_sanity_check_mbuffer(src_bufp) == TS_SUCCESS) &&
-      ((sdk_sanity_check_mime_hdr_handle(dest_hdr) == TS_SUCCESS) || (sdk_sanity_check_http_hdr_handle(dest_hdr) == TS_SUCCESS)) &&
-      ((sdk_sanity_check_mime_hdr_handle(src_hdr) == TS_SUCCESS) || (sdk_sanity_check_http_hdr_handle(src_hdr) == TS_SUCCESS)) &&
-      (sdk_sanity_check_field_handle(src_field, src_hdr) == TS_SUCCESS) && isWriteable(dest_bufp)) {
-    TSMLoc dest_field;
-
-    if (TSMimeHdrFieldCreate(dest_bufp, dest_hdr, &dest_field) == TS_SUCCESS) {
-      TSMimeHdrFieldCopy(dest_bufp, dest_hdr, dest_field, src_bufp, src_hdr, src_field);
-      return dest_field;
-    }
+  sdk_assert(sdk_sanity_check_mbuffer(dest_bufp) == TS_SUCCESS);
+  sdk_assert(sdk_sanity_check_mbuffer(src_bufp) == TS_SUCCESS);
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(dest_hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(dest_hdr) == TS_SUCCESS));
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(src_hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(src_hdr) == TS_SUCCESS));
+  sdk_assert(sdk_sanity_check_field_handle(src_field, src_hdr) == TS_SUCCESS);
+  sdk_assert(sdk_sanity_check_null_ptr((void*)locp) == TS_SUCCESS);
+
+  if (!isWriteable(dest_bufp))
+    return TS_ERROR;
+
+  // This is sort of sub-optimal, since we'll check the args again. TODO.
+  if (TSMimeHdrFieldCreate(dest_bufp, dest_hdr, locp) == TS_SUCCESS) {
+    TSMimeHdrFieldCopy(dest_bufp, dest_hdr, *locp, src_bufp, src_hdr, src_field);
+    return TS_SUCCESS;
   }
-  return (TSMLoc)TS_ERROR_PTR;
+  // TSMimeHdrFieldCreate() failed for some reason.
+  return TS_ERROR;
 }
 
 TSReturnCode
-TSMimeHdrFieldCopyValues(TSMBuffer dest_bufp, TSMLoc dest_hdr, TSMLoc dest_field,
-                          TSMBuffer src_bufp, TSMLoc src_hdr, TSMLoc src_field)
+TSMimeHdrFieldCopyValues(TSMBuffer dest_bufp, TSMLoc dest_hdr, TSMLoc dest_field, TSMBuffer src_bufp, TSMLoc src_hdr,
+                         TSMLoc src_field)
 {
   // Allow to modify the buffer only
   // if bufp is modifiable. If bufp is not modifiable return
   // TS_ERROR. If allowed, return TS_SUCCESS. Changed the
   // return value of function from void to TSReturnCode.
-  if ((sdk_sanity_check_mbuffer(src_bufp) == TS_SUCCESS) &&
-      (sdk_sanity_check_mbuffer(dest_bufp) == TS_SUCCESS) &&
-      ((sdk_sanity_check_mime_hdr_handle(src_hdr) == TS_SUCCESS) ||
-       (sdk_sanity_check_http_hdr_handle(src_hdr) == TS_SUCCESS)) &&
-      ((sdk_sanity_check_mime_hdr_handle(dest_hdr) == TS_SUCCESS) ||
-       (sdk_sanity_check_http_hdr_handle(dest_hdr) == TS_SUCCESS)) &&
-      (sdk_sanity_check_field_handle(src_field, src_hdr) == TS_SUCCESS) &&
-      (sdk_sanity_check_field_handle(dest_field, dest_hdr) == TS_SUCCESS) && isWriteable(dest_bufp)) {
-
-    MIMEFieldSDKHandle *s_handle = (MIMEFieldSDKHandle *) src_field;
-    MIMEFieldSDKHandle *d_handle = (MIMEFieldSDKHandle *) dest_field;
-    HdrHeap *d_heap = ((HdrHeapSDKHandle *) dest_bufp)->m_heap;
-    MIMEField *s_field, *d_field;
-
-    s_field = s_handle->field_ptr;
-    d_field = d_handle->field_ptr;
-    mime_field_value_set(d_heap, d_handle->mh, d_field, s_field->m_ptr_value, s_field->m_len_value, true);
-
-    return TS_SUCCESS;
-  } 
-  return TS_ERROR;
+  sdk_assert(sdk_sanity_check_mbuffer(src_bufp) == TS_SUCCESS);
+  sdk_assert(sdk_sanity_check_mbuffer(dest_bufp) == TS_SUCCESS);
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(src_hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(src_hdr) == TS_SUCCESS));
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(dest_hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(dest_hdr) == TS_SUCCESS));
+  sdk_assert(sdk_sanity_check_field_handle(src_field, src_hdr) == TS_SUCCESS);
+  sdk_assert(sdk_sanity_check_field_handle(dest_field, dest_hdr) == TS_SUCCESS);
+
+  if (!isWriteable(dest_bufp))
+    return TS_ERROR;
+
+  MIMEFieldSDKHandle *s_handle = (MIMEFieldSDKHandle *) src_field;
+  MIMEFieldSDKHandle *d_handle = (MIMEFieldSDKHandle *) dest_field;
+  HdrHeap *d_heap = ((HdrHeapSDKHandle *) dest_bufp)->m_heap;
+  MIMEField *s_field, *d_field;
+
+  s_field = s_handle->field_ptr;
+  d_field = d_handle->field_ptr;
+  mime_field_value_set(d_heap, d_handle->mh, d_field, s_field->m_ptr_value, s_field->m_len_value, true);
+  return TS_SUCCESS;
 }
 
 // TODO: This is implemented horribly slowly, but who's using it anyway?
@@ -2863,43 +2869,43 @@ TSMimeHdrFieldCopyValues(TSMBuffer dest_
 TSMLoc
 TSMimeHdrFieldNext(TSMBuffer bufp, TSMLoc hdr, TSMLoc field)
 {
-  if ((sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS) &&
-      ((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) || (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS)) &&
-      (sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS)) {
-    MIMEFieldSDKHandle *handle = (MIMEFieldSDKHandle *) field;
+  sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS));
+  sdk_assert(sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS);
 
-    if (handle->mh == NULL)
-      return TS_NULL_MLOC;
+  MIMEFieldSDKHandle *handle = (MIMEFieldSDKHandle *) field;
 
-    int slotnum = mime_hdr_field_slotnum(handle->mh, handle->field_ptr);
-    if (slotnum == -1)
-      return TS_NULL_MLOC;
+  if (handle->mh == NULL)
+    return TS_NULL_MLOC;
 
-    while (1) {
-      ++slotnum;
-      MIMEField *f = mime_hdr_field_get_slotnum(handle->mh, slotnum);
-
-      if (f == NULL)
-        return TS_NULL_MLOC;
-      if (f->is_live()) {
-        MIMEFieldSDKHandle *h = sdk_alloc_field_handle(bufp, handle->mh);
+  int slotnum = mime_hdr_field_slotnum(handle->mh, handle->field_ptr);
+  if (slotnum == -1)
+    return TS_NULL_MLOC;
 
-        h->field_ptr = f;
-        return h;
-      }
+  while (1) {
+    ++slotnum;
+    MIMEField *f = mime_hdr_field_get_slotnum(handle->mh, slotnum);
+
+    if (f == NULL)
+      return TS_NULL_MLOC;
+    if (f->is_live()) {
+      MIMEFieldSDKHandle *h = sdk_alloc_field_handle(bufp, handle->mh);
+      
+      h->field_ptr = f;
+      return h;
     }
   }
-  return (TSMLoc)TS_ERROR_PTR;
+  return TS_NULL_MLOC; // Shouldn't happen.
 }
 
 TSMLoc
 TSMimeHdrFieldNextDup(TSMBuffer bufp, TSMLoc hdr, TSMLoc field)
 {
-  if ((sdk_sanity_check_mbuffer(bufp) != TS_SUCCESS) ||
-      ((sdk_sanity_check_mime_hdr_handle(hdr) != TS_SUCCESS) && (sdk_sanity_check_http_hdr_handle(hdr) != TS_SUCCESS))
-      || (sdk_sanity_check_field_handle(field, hdr) != TS_SUCCESS)) {
-    return (TSMLoc)TS_ERROR_PTR;
-  }
+  sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS));
+  sdk_assert(sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS);
 
   MIMEHdrImpl *mh = _hdr_mloc_to_mime_hdr_impl(hdr);
   MIMEFieldSDKHandle *field_handle = (MIMEFieldSDKHandle *) field;
@@ -2915,11 +2921,10 @@ TSMimeHdrFieldNextDup(TSMBuffer bufp, TS
 int
 TSMimeHdrFieldLengthGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field)
 {
-  if ((sdk_sanity_check_mbuffer(bufp) != TS_SUCCESS) ||
-      ((sdk_sanity_check_mime_hdr_handle(hdr) != TS_SUCCESS) && (sdk_sanity_check_http_hdr_handle(hdr) != TS_SUCCESS)) ||
-      (sdk_sanity_check_field_handle(field, hdr) != TS_SUCCESS)) {
-    return TS_ERROR;
-  }
+  sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS));
+  sdk_assert(sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS);
 
   MIMEFieldSDKHandle *handle = (MIMEFieldSDKHandle *) field;
   return mime_field_length_get(handle->field_ptr);
@@ -2928,11 +2933,10 @@ TSMimeHdrFieldLengthGet(TSMBuffer bufp, 
 const char *
 TSMimeHdrFieldNameGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, int *length)
 {
-  if ((sdk_sanity_check_mbuffer(bufp) != TS_SUCCESS) ||
-      ((sdk_sanity_check_mime_hdr_handle(hdr) != TS_SUCCESS) && (sdk_sanity_check_http_hdr_handle(hdr) != TS_SUCCESS)) ||
-      (sdk_sanity_check_field_handle(field, hdr) != TS_SUCCESS)) {
-    return (const char *)TS_ERROR_PTR;
-  }
+  sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS));
+  sdk_assert(sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS);
 
   int name_len;
   const char *name_ptr;
@@ -2951,27 +2955,31 @@ TSMimeHdrFieldNameSet(TSMBuffer bufp, TS
   // if bufp is modifiable. If bufp is not modifiable return
   // TS_ERROR. If allowed, return TS_SUCCESS. Changed the
   // return value of function from void to TSReturnCode.
-  if ((sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS) &&
-      ((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) || (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS))
-      && (sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS) &&
-      (sdk_sanity_check_null_ptr((void*) name) == TS_SUCCESS) && isWriteable(bufp)) {
-    if (length == -1)
-      length = strlen(name);
+  sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS));
+  sdk_assert(sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS);
+  sdk_assert(sdk_sanity_check_null_ptr((void*) name) == TS_SUCCESS);
 
-    MIMEFieldSDKHandle *handle = (MIMEFieldSDKHandle *) field;
-    HdrHeap *heap = ((HdrHeapSDKHandle *) bufp)->m_heap;
+  if (!isWriteable(bufp))
+    return TS_ERROR;
 
-    int attached = (handle->mh && handle->field_ptr->is_live());
-    if (attached)
-      mime_hdr_field_detach(handle->mh, handle->field_ptr, false);
+  if (length == -1)
+    length = strlen(name);
 
-    handle->field_ptr->name_set(heap, handle->mh, name, length);
+  MIMEFieldSDKHandle *handle = (MIMEFieldSDKHandle *) field;
+  HdrHeap *heap = ((HdrHeapSDKHandle *) bufp)->m_heap;
 
-    if (attached)
-      mime_hdr_field_attach(handle->mh, handle->field_ptr, 1, NULL);
-    return TS_SUCCESS;
-  }
-  return TS_ERROR;
+  int attached = (handle->mh && handle->field_ptr->is_live());
+
+  if (attached)
+    mime_hdr_field_detach(handle->mh, handle->field_ptr, false);
+
+  handle->field_ptr->name_set(heap, handle->mh, name, length);
+
+  if (attached)
+    mime_hdr_field_attach(handle->mh, handle->field_ptr, 1, NULL);
+  return TS_SUCCESS;
 }
 
 TSReturnCode
@@ -2981,85 +2989,81 @@ TSMimeHdrFieldValuesClear(TSMBuffer bufp
   // if bufp is modifiable. If bufp is not modifiable return
   // TS_ERROR. If allowed, return TS_SUCCESS. Changed the
   // return value of function from void to TSReturnCode.
-  if ((sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS) &&
-      ((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) || (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS)) &&
-      (sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS) && isWriteable(bufp)) {
-    MIMEFieldSDKHandle *handle = (MIMEFieldSDKHandle *) field;
-    HdrHeap *heap = ((HdrHeapSDKHandle *) bufp)->m_heap;
+  sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS));
+  sdk_assert(sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS);
 
-    /**
-     * Modified the string value passed from an empty string ("") to NULL.
-     * An empty string is also considered to be a token. The correct value of
-     * the field after this function should be NULL.
-     */
-    mime_field_value_set(heap, handle->mh, handle->field_ptr, NULL, 0, 1);
-    return TS_SUCCESS;
-  }
-  return TS_ERROR;
+  if (!isWriteable(bufp))
+    return TS_ERROR;
+
+  MIMEFieldSDKHandle *handle = (MIMEFieldSDKHandle *) field;
+  HdrHeap *heap = ((HdrHeapSDKHandle *) bufp)->m_heap;
+
+  /**
+   * Modified the string value passed from an empty string ("") to NULL.
+   * An empty string is also considered to be a token. The correct value of
+   * the field after this function should be NULL.
+   */
+  mime_field_value_set(heap, handle->mh, handle->field_ptr, NULL, 0, 1);
+  return TS_SUCCESS;
 }
 
 int
 TSMimeHdrFieldValuesCount(TSMBuffer bufp, TSMLoc hdr, TSMLoc field)
 {
-  if ((sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS) &&
-      ((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) || (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS))
-      && (sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS)) {
-    MIMEFieldSDKHandle *handle = (MIMEFieldSDKHandle *) field;
+  sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS));
+  sdk_assert(sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS);
 
-    return mime_field_value_get_comma_val_count(handle->field_ptr);
-  }
-  return TS_ERROR;
+  MIMEFieldSDKHandle *handle = (MIMEFieldSDKHandle *) field;
+  return mime_field_value_get_comma_val_count(handle->field_ptr);
 }
 
-TSReturnCode
-TSMimeHdrFieldValueStringGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, int idx, const char **value_ptr,
-                             int *value_len_ptr) {
-  if ((sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS) &&
-      ((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) || (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS))
-      && (sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS) && (value_ptr != NULL) &&
-      sdk_sanity_check_null_ptr((void*) value_len_ptr) == TS_SUCCESS) {
-    *value_ptr = TSMimeFieldValueGet(bufp, field, idx, value_len_ptr);
-    return TS_SUCCESS;
-  }
-  return TS_ERROR;
+const char*
+TSMimeHdrFieldValueStringGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, int idx, int *value_len_ptr) {
+  sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS));
+  sdk_assert(sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS);
+  sdk_assert(sdk_sanity_check_null_ptr((void*) value_len_ptr) == TS_SUCCESS);
+
+  return TSMimeFieldValueGet(bufp, field, idx, value_len_ptr);
 }
 
-TSReturnCode
-TSMimeHdrFieldValueDateGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, time_t *value_ptr)
+time_t
+TSMimeHdrFieldValueDateGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field)
 {
-  if ((sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS) &&
-      ((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) || (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS)) &&
-      (sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS) && (value_ptr != NULL)) {
-    int value_len;
-    const char *value_str = TSMimeFieldValueGet(bufp, field, -1, &value_len);
+  sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS));
+  sdk_assert(sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS);
 
-    if (value_str == NULL) {
-      *value_ptr = (time_t) 0;
-    } else {
-      *value_ptr = mime_parse_date(value_str, value_str + value_len);
-    }
-    return TS_SUCCESS;
-  }
-  return TS_ERROR;
+  int value_len;
+  const char *value_str = TSMimeFieldValueGet(bufp, field, -1, &value_len);
+
+  if (value_str == NULL)
+    return (time_t) 0;
+
+  return mime_parse_date(value_str, value_str + value_len);
 }
 
-TSReturnCode
-TSMimeHdrFieldValueIntGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, int idx, int *value_ptr)
+int
+TSMimeHdrFieldValueIntGet(TSMBuffer bufp, TSMLoc hdr, TSMLoc field, int idx)
 {
-  if ((sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS) &&
-      ((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) || (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS)) &&
-      (sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS) && (value_ptr != NULL)) {
-    int value_len;
-    const char *value_str = TSMimeFieldValueGet(bufp, field, idx, &value_len);
+  sdk_assert(sdk_sanity_check_mbuffer(bufp) == TS_SUCCESS);
+  sdk_assert((sdk_sanity_check_mime_hdr_handle(hdr) == TS_SUCCESS) ||
+             (sdk_sanity_check_http_hdr_handle(hdr) == TS_SUCCESS));
+  sdk_assert(sdk_sanity_check_field_handle(field, hdr) == TS_SUCCESS);
 
-    if (value_str == NULL) {
-      *value_ptr = 0;  // TODO: Hmmm, this is weird, but it's the way it worked before ...
-    } else{
-      *value_ptr = mime_parse_int(value_str, value_str + value_len);
-    }
-    return TS_SUCCESS;
-  }
-  return TS_ERROR;
+  int value_len;
+  const char *value_str = TSMimeFieldValueGet(bufp, field, idx, &value_len);
+
+  if (value_str == NULL)
+    return 0;
+
+  return mime_parse_int(value_str, value_str + value_len);
 }
 
 TSReturnCode