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