trafficserver-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jpe...@apache.org
Subject [04/51] trafficserver git commit: Documentation reorganization
Date Tue, 03 Nov 2015 06:09:40 GMT
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/how-to-create-trafficserver-plugins/roadmap-for-creating-plugins.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/how-to-create-trafficserver-plugins/roadmap-for-creating-plugins.en.rst b/doc/sdk/how-to-create-trafficserver-plugins/roadmap-for-creating-plugins.en.rst
deleted file mode 100644
index 7634bfe..0000000
--- a/doc/sdk/how-to-create-trafficserver-plugins/roadmap-for-creating-plugins.en.rst
+++ /dev/null
@@ -1,86 +0,0 @@
-Roadmap for Creating Plugins
-****************************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-   
-    http://www.apache.org/licenses/LICENSE-2.0
-   
-   Unless required by applicable law or agreed to in writing,
-   software distributed under the License is distributed on an
-   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-   KIND, either express or implied.  See the License for the
-   specific language governing permissions and limitations
-   under the License.
-
-This chapter has provided an overview of Traffic Server's HTTP
-processing, API hooks, and the asynchronous event model. Next, you must
-understand the capabilities of Traffic Server API functions. These are
-quite broad:
-
--  **HTTP header manipulation functions**
-
-   Obtain information about and manipulate HTTP headers, URLs, & MIME
-   headers.
-
--  **HTTP transaction functions**
-
-   Get information about and modify HTTP transactions (for example: get
-   the client IP associated to the transaction; get the server IP; get
-   parent proxy information)
-
--  **IO functions**
-
-   Manipulate vconnections (virtual connections, used for network and
-   disk I/O)
-
--  **Network connection functions**
-
-   Open connections to remote servers.
-
--  **Statistics functions**
-
-   Define and compute statistics for your plugin's activity.
-
--  **Traffic Server management functions**
-
-   Obtain values for Traffic Server configuration and statistics
-   variables.
-
-Below are some guidelines for creating a plugin:
-
-1. Decide what you want your plugin to do, based on the capabilities of
-   the API and Traffic Server. Two main kinds of example plugins
-   provided with this SDK are HTTP-based (includes header-based and
-   response transform plugins), and non-HTTP-based (a protocol plugin).
-   These examples are discussed in the next three chapters.
-
-2. Determine where your plugin needs to hook on to Traffic Server's HTTP
-   processing (view the :ref:`http-txn-state-diagram`
-
-3. Read :doc:`../header-based-plugin-examples.en` to learn the basics of
-   writing plugins: creating continuations and setting up hooks. If you
-   want to write a plugin that transforms data, then read
-   :doc:`../http-transformation-plugin.en`
-
-4. Figure out what parts of the Traffic Server API you need to use and
-   then read about the details of those APIs in this manual's reference
-   chapters.
-
-5. Compile and load your plugin (see :doc:`../getting-started.en`
-
-6. Depending on your plugin's functionality, you might start testing it
-   by issuing requests by hand and checking for the desired behavior in
-   Traffic Server log files. See the ***Traffic Server Administrator's
-   Guide*** for information about Traffic Server logs.
-
-7. You can test the performance of Traffic Server running with your
-   plugin using SDKTest. You can also customize SDKTest to perform
-   functional testing on your plugin; for more information see the
-   ***Traffic Server SDKTest User's Guide***.
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-headers.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-headers.en.rst b/doc/sdk/http-headers.en.rst
deleted file mode 100644
index 167a1d5..0000000
--- a/doc/sdk/http-headers.en.rst
+++ /dev/null
@@ -1,140 +0,0 @@
-HTTP Headers
-************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-   
-   http://www.apache.org/licenses/LICENSE-2.0
-   
-   Unless required by applicable law or agreed to in writing,
-   software distributed under the License is distributed on an
-   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-   KIND, either express or implied.  See the License for the
-   specific language governing permissions and limitations
-   under the License.
-
-This chapter explains the functions used to manipulate HTTP headers.
-
-.. toctree::
-   :maxdepth: 2
-
-   http-headers/guide-to-trafficserver-http-header-system.en
-   http-headers/marshal-buffers.en
-   http-headers/http-headers.en
-   http-headers/urls.en
-   http-headers/mime-headers.en
-
-About HTTP Headers
-------------------
-
-An **HTTP message** consists of the following:
-
--  HTTP header
--  body
--  trailer
-
-The **HTTP header** consists of:
-
--  A request or response line
-
-   -  An HTTP **request line** contains a method, URL, and version
-   -  A **response line** contains a version, status code, and reason
-      phrase
-
--  A MIME header
-
-A **MIME header** is comprised of zero or more MIME fields. A **MIME
-field** is composed of a field name, a colon, and (zero or more) field
-values. The values in a field are separated by commas. An HTTP header
-containing a request line is usually referred to as a **request**. The
-following example shows a typical request header:
-
-.. code-block:: http
-
-   GET http://www.tiggerwigger.com/ HTTP/1.0
-   Proxy-Connection: Keep-Alive
-   User-Agent: Mozilla/5.0 [en] (X11; I; Linux 2.2.3 i686)
-   Host: www.tiggerwigger.com
-   Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
-   Accept-Encoding: gzip
-   Accept-Language: en
-   Accept-Charset: iso-8859-1, *, utf-8
-
-The **response header** for the above request might look like the
-following:
-
-.. code-block:: http
-
-   HTTP/1.0 200 OK
-   Date: Fri, 13 Nov 2009 06:57:43 GMT
-   Content-Location: http://locutus.tiggerwigger.com/index.html
-   Etag: "07db14afa76be1:1074"
-   Last-Modified: Thu, 05 Nov 2009 20:01:38 GMT
-   Content-Length: 7931
-   Content-Type: text/html
-   Server: Microsoft-IIS/4.0
-   Age: 922
-   Proxy-Connection: close
-
-The following figure illustrates an HTTP message with an expanded HTTP
-header.
-
-**Figure 10.1. HTTP Request/Response and Header Structure**
-
-.. figure:: /static/images/sdk/http_header_struct.jpg
-   :alt: HTTP Request/Response and Header Structure
-
-   HTTP Request/Response and Header Structure
-   
-The figure below shows example HTTP request and response headers.
-
-**Figure 10.2. Examples of HTTP Request and Response Headers**
-
-.. figure:: /static/images/sdk/http_headers.jpg
-   :alt: Examples of HTTP Request and Response Headers
-
-   Examples of HTTP Request and Response Headers
-   
-The marshal buffer or ``TSMBuffer`` is a heap data structure that stores
-parsed URLs, MIME headers, and HTTP headers. You can allocate new
-objects out of marshal buffers and change the values within the marshal
-buffer. Whenever you manipulate an object, you must require the handle
-to the object (``TSMLoc``) and the marshal buffer containing the object
-(``TSMBuffer``).
-
-**Figure 10.3. Marshal Buffers and Header Locations**
-
-.. figure:: /static/images/sdk/marshall_buffers.jpg
-   :alt: Marshal Buffers and Header Locations
-
-   Marshal Buffers and Header Locations
-   
-The figure above shows the following:
-
--  The marshal buffer containing the HTTP request, ``reqest_bufp``
-
--  ``TSMLoc`` location pointer for the HTTP header (``http_hdr_loc``)
-
--  ``TSMLoc`` location pointer for the request URL (``url_loc``)
-
--  ``TSMLoc`` location pointers for the MIME header (``mime_hdr_loc``)
-
--  ``TSMLoc`` location pointers for MIME fields (``fieldi_loc``)
-
--  ``TSMLoc`` location pointer for the next duplicate MIME field
-   (``next_dup_loc``)
-
-The diagram also shows that an HTTP header contains pointers to the URL
-location and the MIME header location. You can obtain the URL location
-from an HTTP header using the function ``TSHttpHdrUrlGet``. To work with
-MIME headers, you can pass either a MIME header location or an HTTP
-header location to MIME header functions . If you pass an HTTP header to
-a MIME header function, then the system locates the associated MIME
-header and executes the MIME header function on the MIME header
-location.
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-headers/guide-to-trafficserver-http-header-system.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-headers/guide-to-trafficserver-http-header-system.en.rst b/doc/sdk/http-headers/guide-to-trafficserver-http-header-system.en.rst
deleted file mode 100644
index 01aaad0..0000000
--- a/doc/sdk/http-headers/guide-to-trafficserver-http-header-system.en.rst
+++ /dev/null
@@ -1,58 +0,0 @@
-Guide to Traffic Server HTTP Header System
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-  
-    http://www.apache.org/licenses/LICENSE-2.0
-  
-   Unless required by applicable law or agreed to in writing,
-   software distributed under the License is distributed on an
-   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-   KIND, either express or implied.  See the License for the
-   specific language governing permissions and limitations
-   under the License.
-
-
-No Null-Terminated Strings
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-It's not safe to assume that string data contained in marshal buffers
-(such as URLs and MIME fields) is stored in null-terminated string
-copies. Therefore, your plugins should always use the length parameter
-when retrieving or manipulating these strings. You **cannot** pass in
-``NULL`` for string-length return values; string values returned from
-marshall buffers are not null-terminated. If you need a null-terminated
-value, then use ``TSstrndup`` to automatically null-terminate a string.
-The strings that come back and are not null-terminated **cannot** be
-passed into the common ``str*()`` routines
-
-.. note::
-   Values returned from a marshall buffer can be ``NULL``, which means the
-   field or object requested does not exist.
-
-For example (from the ``blacklist-1`` sample)
-
-.. code-block:: c
-
-   char *host_string;
-   int host_length;
-   host_string = TSUrlHostGet (bufp, url_loc, &host_length);
-   for (i = 0; i < nsites; i++) {
-   if (strncmp (host_string, sites[i], host_length) == 0) {
-      // ...
-   }
-
-See the sample plugins for additional examples.
-
-.. toctree::
-   :maxdepth: 2
-
-   guide-to-trafficserver-http-header-system/duplicate-mime-fields-are-not-coalesced.en
-   guide-to-trafficserver-http-header-system/mime-fields-always-belong-to-an-associated-mime-header.en
-   guide-to-trafficserver-http-header-system/release-marshal-buffer-handles.en
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-headers/guide-to-trafficserver-http-header-system/duplicate-mime-fields-are-not-coalesced.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-headers/guide-to-trafficserver-http-header-system/duplicate-mime-fields-are-not-coalesced.en.rst b/doc/sdk/http-headers/guide-to-trafficserver-http-header-system/duplicate-mime-fields-are-not-coalesced.en.rst
deleted file mode 100644
index f354956..0000000
--- a/doc/sdk/http-headers/guide-to-trafficserver-http-header-system/duplicate-mime-fields-are-not-coalesced.en.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-Duplicate MIME Fields Are Not Coalesced
-***************************************
-
-..
-   Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-   
-   http://www.apache.org/licenses/LICENSE-2.0
-   
-   Unless required by applicable law or agreed to in writing,
-   software distributed under the License is distributed on an
-   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-   KIND, either express or implied.  See the License for the
-   specific language governing permissions and limitations
-   under the License.
-
-MIME headers can contain more than one MIME field with the same name.
-Earlier versions of Traffic Server joined multiple fields with the same
-name into one field with composite values. This behavior came at a
-performance cost and caused interoperability problems with older clients
-and servers. Therefore, this version of Traffic Server does not coalesce
-duplicate fields.
-
-Properly-behaving plugins should check for the presence of duplicate
-fields and then iterate over the duplicate fields via
-:c:func:`TSMimeHdrFieldNextDup`.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-headers/guide-to-trafficserver-http-header-system/mime-fields-always-belong-to-an-associated-mime-header.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-headers/guide-to-trafficserver-http-header-system/mime-fields-always-belong-to-an-associated-mime-header.en.rst b/doc/sdk/http-headers/guide-to-trafficserver-http-header-system/mime-fields-always-belong-to-an-associated-mime-header.en.rst
deleted file mode 100644
index 4603181..0000000
--- a/doc/sdk/http-headers/guide-to-trafficserver-http-header-system/mime-fields-always-belong-to-an-associated-mime-header.en.rst
+++ /dev/null
@@ -1,67 +0,0 @@
-MIME Fields Always Belong to an Associated MIME Header
-******************************************************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
- 
-   http://www.apache.org/licenses/LICENSE-2.0
- 
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-
-When using Traffic Server, you cannot create a new MIME field without an
-associated MIME header or HTTP header; MIME fields are always seen as
-part of a MIME header or HTTP header.
-
-To use a MIME field, you must specify the MIME header or HTTP header to
-which it belongs - this is called the field's **parent header**. The
-``TSMimeField*`` functions in older versions of the SDK have been
-deprecated, as they do not require the parent header as inputs. The
-current version of Traffic Server uses new functions, the
-**``TSMimeHdrField``** series, which require you to specify the location
-of the parent header along with the location of the MIME field. For
-every deprecated *``TSMimeField``* function, there is a new, preferred
-``TSMimeHdrField*`` function. Therefore, you should use the
-**``TSMimeHdrField``** functions instead of the deprecated
-*``TSMimeField``* series. Examples are provided below.
-
-Instead of:
-
-.. code-block:: c
-
-    TSMLoc TSMimeFieldCreate (TSMBuffer bufp)
-
-You should use:
-
-.. code-block:: c
-
-    TSMLoc TSMimeHdrFieldCreate (TSMBuffer bufp, TSMLoc hdr)
-
-Instead of:
-
-.. code-block:: c
-
-    void TSMimeFieldCopyValues (TSMBuffer dest_bufp, TSMLoc dest_offset,
-       TSMBuffer src_bufp, TSMLoc src_offset)
-
-You should use:
-
-.. code-block:: c
-
-    void TSMimeHdrFieldCopyValues (TSMBuffer dest_bufp, TSMLoc dest_hdr,
-       TSMLoc dest_field, TSMBuffer src_bufp, TSMLoc src_hdr, TSMLoc
-       src_field)
-
-In the ``TSMimeHdrField*`` function prototypes, the ``TSMLoc`` field
-corresponds to the ``TSMLoc`` offset used the deprecated
-``TSMimeField*`` functions (see the discussion of parent ``TSMLoc`` in
-the following section).

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-headers/guide-to-trafficserver-http-header-system/release-marshal-buffer-handles.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-headers/guide-to-trafficserver-http-header-system/release-marshal-buffer-handles.en.rst b/doc/sdk/http-headers/guide-to-trafficserver-http-header-system/release-marshal-buffer-handles.en.rst
deleted file mode 100644
index 26089e8..0000000
--- a/doc/sdk/http-headers/guide-to-trafficserver-http-header-system/release-marshal-buffer-handles.en.rst
+++ /dev/null
@@ -1,79 +0,0 @@
-Release Marshal Buffer Handles
-******************************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-  
-    http://www.apache.org/licenses/LICENSE-2.0
-  
-   Unless required by applicable law or agreed to in writing,
-   software distributed under the License is distributed on an
-   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-   KIND, either express or implied.  See the License for the
-   specific language governing permissions and limitations
-   under the License.
-
-When you fetch a component object or create a new object, you get back a
-handle to the object location. The handle is either an ``TSMLoc`` for an
-object location or ``char *`` for a string location. You can manipulate
-the object through these handles, but when you are finished you need to
-release the handle to free up system resources.
-
-The general guideline is to release all ``TSMLoc`` and string handles
-you retrieve. The one exception is the string returned by
-``TSUrlStringGet``, which must be freed by a call to ``TSfree``.
-
-The handle release functions expect three arguments: the marshal buffer
-containing the data, the location of the parent object, and the location
-of the object to be released. The parent location is usually clear from
-the creation of the ``TSMLoc`` or string. For example, if your plugin
-had the following calls:
-
-.. code-block:: c
-
-   url_loc = TSHttpHdrUrlGet (bufp, hdr_loc);
-   host_string = TSUrlHostGet (bufp, url_loc, &host_length);
-
-then your plugin would have to call:
-
-.. code-block:: c
-
-   TSHandleMLocRelease (bufp, hdr_loc, url_loc);
-
-If an ``TSMLoc`` is obtained from a transaction, then it does not have a
-parent ``TSMLoc``. Use the null ``TSMLoc`` constant ``TS_NULL_MLOC`` as
-its parent. For example, if your plugin calls:
-
-.. code-block:: c
-
-   TSHttpTxnClientReqGet (txnp, &bufp, &hdr_loc);
-
-then you must release ``hdr_loc`` with:
-
-.. code-block:: c
-
-   TSHandleMLocRelease (bufp, TS_NULL_MLOC, hdr_loc);
-
-You need to use ``TS_NULL_MLOC`` to release any ``TSMLoc`` handles
-retrieved by the ``TSHttpTxn*Get`` functions.
-
-Here's an example using a new ``TSMimeHdrField`` function:
-
-.. code-block:: c
-
-   TSHttpTxnServerRespGet( txnp, &resp_bufp, &resp_hdr_loc );
-   new_field_loc = TSMimeHdrFieldCreate (resp_bufp, resp_hdr_loc);
-   TSHandleMLocRelease ( resp_bufp, resp_hdr_loc, new_field_loc);
-   TSHandleMLocRelease ( resp_bufp, TS_NULL_MLOC, resp_hdr_loc);
-
-See the sample plugins for many more examples.
-
-.. tip::
-
-   You should release handles before reenabling the HTTP transaction.
-   In other words, call ``TSHandleMLocRelease`` before ``TSHttpTxnReenable``.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-headers/http-headers.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-headers/http-headers.en.rst b/doc/sdk/http-headers/http-headers.en.rst
deleted file mode 100644
index 623bd7f..0000000
--- a/doc/sdk/http-headers/http-headers.en.rst
+++ /dev/null
@@ -1,186 +0,0 @@
-HTTP Headers
-************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
- 
-   http://www.apache.org/licenses/LICENSE-2.0
- 
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  
-.. toctree::
-
-   marshal-buffers.en
-   mime-headers.en
-   urls.en
-   guide-to-trafficserver-http-header-system.en
-   guide-to-trafficserver-http-header-system/mime-fields-always-belong-to-an-associated-mime-header.en
-   guide-to-trafficserver-http-header-system/release-marshal-buffer-handles.en
-   guide-to-trafficserver-http-header-system/duplicate-mime-fields-are-not-coalesced.en
-  
-
-The Traffic Server API HTTP header functions enable you to work with
-HTTP header data stored in marshal buffers.
-
-The HTTP header data structure is a parsed version of the HTTP header
-defined in the HTTP protocol specification. An HTTP header is composed
-of a request or response line followed by zero or more MIME fields. In
-fact, an HTTP header is a subclass of a MIME header; all of the MIME
-header routines operate on HTTP headers.
-
-An HTTP **request line** is composed of a method, a URL, and version. A
-**response line** is composed of a version, status code, and reason
-phrase. See `About HTTP Headers <../http-headers#AboutHTTPHeaders>`__
-for additional details and examples.
-
-To facilitate fast comparisons and reduce storage size, Traffic Server
-defines several pre-allocated method names. These names correspond to
-the methods defined in the HTTP 1.1 specification
-
-``TS_HTTP_METHOD_CONNECT``
-   "CONNECT"
-
-``TS_HTTP_METHOD_DELETE``
-   "DELETE"
-
-``TS_HTTP_METHOD_GE``
-   "GET"
-
-``TS_HTTP_METHOD_HEAD``
-   "HEAD"
-
-``TS_HTTP_METHOD_ICP_QUERY``
-   "ICP\_QUERY"
-
-``TS_HTTP_METHOD_OPTIONS``
-   "OPTIONS"
-
-``TS_HTTP_METHOD_POST``
-   "POST"
-
-``TS_HTTP_METHOD_PURGE``
-   "PURGE"
-
-``TS_HTTP_METHOD_PUT``
-   "PUT"
-
-``TS_HTTP_METHOD_TRACE``
-   "TRACE"
-
-``TS_HTTP_METHOD_PUSH``
-   "PUSH"
-
-Traffic Server also defines several common values that appear in HTTP
-headers.
-
-``TS_HTTP_VALUE_BYTES``
-   "bytes"
-
-``TS_HTTP_VALUE_CHUNKED``
-   "chunked"
-
-``TS_HTTP_VALUE_CLOSE``
-   "close"
-
-``TS_HTTP_VALUE_COMPRESS``
-   "compress"
-
-``TS_HTTP_VALUE_DEFLATE``
-   "deflate"
-
-``TS_HTTP_VALUE_GZIP``
-   "gzip"
-
-``TS_HTTP_VALUE_IDENTITY``
-   "identity"
-
-``TS_HTTP_VALUE_KEEP_ALIVE``
-   "keep-alive"
-
-``TS_HTTP_VALUE_MAX_AGE``
-   "max-age"
-
-``TS_HTTP_VALUE_MAX_STALE``
-   "max-stale"
-
-``TS_HTTP_VALUE_MIN_FRESH``
-   "min-fresh"
-
-``TS_HTTP_VALUE_MUST_REVALIDATE``
-   "must-revalidate"
-
-``TS_HTTP_VALUE_NONE``
-   "none"
-
-``TS_HTTP_VALUE_NO_CACHE``
-   "no-cache"
-
-``TS_HTTP_VALUE_NO_STORE``
-   "no-store"
-
-``TS_HTTP_VALUE_NO_TRANSFORM``
-   "no-transform"
-
-``TS_HTTP_VALUE_ONLY_IF_CACHED``
-   "only-if-cached"
-
-``TS_HTTP_VALUE_PRIVATE``
-   "private"
-
-``TS_HTTP_VALUE_PROXY_REVALIDATE``
-   "proxy-revalidate"
-
-``TS_HTTP_VALUE_PUBLIC``
-   "public"
-
-``TS_HTTP_VALUE_S_MAX_AGE``
-   "s-maxage"
-
-The method names and header values above are defined in ``ts.h`` as
-``const char*`` strings. When Traffic Server sets a method or a header
-value, it checks to make sure that the new value is one of the known
-values. If it is, then it stores a pointer into a global table (instead
-of storing the known value in the marshal buffer). The method names and
-header values listed above are also pointers into this table. This
-allows simple pointer comparison of the value returned from
-``TSHttpMethodGet`` with one of the values listed above. It is also
-recommended that you use the above values when referring to one of the
-known schemes, since this removes the possibility of a spelling error.
-
-The **HTTP Header Functions** are listed below:
-
--  :c:func:`TSHttpHdrClone`
--  :c:func:`TSHttpHdrCopy`
--  :c:func:`TSHttpHdrCreate`
--  :c:func:`TSHttpHdrDestroy`
--  :c:func:`TSHttpHdrLengthGet`
--  :c:func:`TSHttpHdrMethodGet`
--  :c:func:`TSHttpHdrMethodSet`
--  :c:func:`TSHttpHdrPrint`
--  :c:func:`TSHttpHdrReasonGet`
--  :c:func:`TSHttpHdrReasonLookup`
--  :c:func:`TSHttpHdrReasonSet`
--  :c:func:`TSHttpHdrStatusGet`
--  :c:func:`TSHttpHdrStatusSet`
--  :c:func:`TSHttpHdrTypeGet`
--  :c:func:`TSHttpHdrTypeSet`
--  :c:func:`TSHttpHdrUrlGet`
--  :c:func:`TSHttpHdrUrlSet`
--  :c:func:`TSHttpHdrVersionGet`
--  :c:func:`TSHttpHdrVersionSet`
--  :c:func:`TSHttpParserClear`
--  :c:func:`TSHttpParserCreate`
--  :c:func:`TSHttpParserDestroy`
--  :c:func:`TSHttpHdrParseReq`
--  :c:func:`TSHttpHdrParseResp`
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-headers/marshal-buffers.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-headers/marshal-buffers.en.rst b/doc/sdk/http-headers/marshal-buffers.en.rst
deleted file mode 100644
index d3f0664..0000000
--- a/doc/sdk/http-headers/marshal-buffers.en.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-Marshal Buffers
-***************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-  
-    http://www.apache.org/licenses/LICENSE-2.0
-  
-   Unless required by applicable law or agreed to in writing,
-   software distributed under the License is distributed on an
-   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-   KIND, either express or implied.  See the License for the
-   specific language governing permissions and limitations
-   under the License.
-
-A **marshal buffer**, or ``TSMBuffer``, is a heap data structure that
-stores parsed URLs, MIME headers, and HTTP headers. You can allocate new
-objects out of marshal buffers and change the values within a marshal
-buffer. Whenever you manipulate an object, you require the handle to the
-object (``TSMLoc``) and the marshal buffer containing the object
-(``TSMBuffer``).
-
-Routines exist for manipulating the object based on these two pieces of
-information. For example, see one of the following:
-
--  :doc:`http-headers.en`
--  :doc:`urls.en`
--  :doc:`mime-headers.en`
-
-The **marshal buffer functions** enable you to create and destroy
-Traffic Server's marshal buffers, which are the data structures that
-hold parsed URLs, MIME headers, and HTTP headers.
-
-.. caution::
-   Any marshal buffer fetched by ``TSHttpTxn*Get`` will be used by other
-   parts of the system. Be careful not to destroy these shared transaction
-   marshal buffers in functions such as those below:
-
--  `TSHttpTxnCachedReqGet <http://people.apache.org/~amc/ats/doc/html/InkAPI_8cc.html#a889b626142157077f4f3cfe479e8b8e2>`_
--  `TSHttpTxnCachedRespGet <http://people.apache.org/~amc/ats/doc/html/InkAPI_8cc.html#ae8f24b8dabb5008ad11620a11682ffd6>`_
--  `TSHttpTxnClientReqGet <http://people.apache.org/~amc/ats/doc/html/InkAPI_8cc.html#acca66f22d0f87bf8f08478ed926006a5>`_
--  `TSHttpTxnClientRespGet <http://people.apache.org/~amc/ats/doc/html/InkAPI_8cc.html#a92349c8363f72b1f6dfed3ae80901fff>`_
--  `TSHttpTxnServerReqGet <http://people.apache.org/~amc/ats/doc/html/ts_8h.html#aac2343a8b47bf9150f3ff7cd4e692d57>`_
--  `TSHttpTxnServerRespGet <http://people.apache.org/~amc/ats/doc/html/ts_8h.html#a39e8bfb199eadabb54c067ff25a9a400>`_
--  `TSHttpTxnTransformRespGet <http://people.apache.org/~amc/ats/doc/html/InkAPI_8cc.html#a20367f5469e8b7e73621c1316091d578>`_
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-headers/mime-headers.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-headers/mime-headers.en.rst b/doc/sdk/http-headers/mime-headers.en.rst
deleted file mode 100644
index bb5ff87..0000000
--- a/doc/sdk/http-headers/mime-headers.en.rst
+++ /dev/null
@@ -1,437 +0,0 @@
-MIME Headers
-************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
- 
-   http://www.apache.org/licenses/LICENSE-2.0
- 
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-
-The Traffic Server \*\*MIME header functions \*\* enable you to retrieve
-and modify information about HTTP MIME fields.
-
-An HTTP request or response consists of a header, body, and trailer. The
-**HTTP** **header** contains a request (or response) line and a MIME
-header. A **MIME** **header** is composed of zero or more MIME fields. A
-**MIME** **field** is composed of a field name, a colon, and zero or
-more field values (values in a field are separated by commas).
-
-In the example below: ``Foo`` is the MIME field name, ``bar`` is the
-first MIME field value, and ``car`` is the second MIME field value.
-
-::
-
-      Foo: bar, car
-
-The following example is an augmented **Backus-Naur Form** (BNF) for the
-form of a MIME header - it specifies exactly what was described above. A
-**header** consists of zero or more **fields** that contain a name,
-separating colon, and zero or more values. A **name** or **value** is
-simply a string of tokens that is potentially zero length; a **token**
-is any character except certain control characters and separators (such
-as colons). For the purpose of retrieving a field, field names are not
-case-sensitive; therefore, the field names ``Foo``, ``foo`` and ``fOO``
-are all equivalent.
-
-::
-
-    MIME-header = *MIME-field
-    MIME-field = field-name ":" #field-value
-    field-name = *token
-    field-value = *token
-
-The MIME header data structure is a parsed version of a standard
-Internet MIME header. The MIME header data structure is similar to the
-URL data structure (see :doc:`URLs <urls.en>`). The actual data is stored in a
-marshal buffer; the MIME header functions operate on a marshal buffer
-and a location (``TSMLoc``) within the buffer.
-
-After a call to ``TSMimeHdrFieldDestroy``, ``TSMimeHdrFieldRemove``, or
-``TSUrlDestroy`` is made, you must deallocate the ``TSMLoc`` handle with
-a call to ``TSHandleMLocRelease``. You do not need to deallocate a
-``NULL`` handles. For example: if you call
-``TSMimeHdrFieldValueStringGet`` to get the value of the content type
-field and the field does not exist, then it returns ``TS_NULL_MLOC``. In
-such a case, you wouldn't need to deallocate the handle with a call to
-``TSHandleMLocRelease``.
-
-The location (``TSMLoc``) in the :ref:`MIME header
-functions <MimeHeaderFxns>` can be either an HTTP header location or
-a MIME header location. If an HTTP header location is passed to these
-functions, then the system locates the MIME header associated with that
-HTTP header and executes the corresponding MIME header operations
-specified by the functions (see the example in the description of
-:c:func:`TSMimeHdrCopy`).
-
-**Note:** MIME headers may contain more than one MIME field with the
-same name. Previous versions of Traffic Server joined multiple fields
-with the same name into one field with composite values, but this
-behavior came at a performance cost and caused compatability issues with
-older clients and servers. Hence, the current version of Traffic Server
-does not coalesce duplicate fields. Correctly-behaving plugins should
-check for the presence of duplicate fields and iterate over the
-duplicate fields by using ``TSMimeHdrFieldNextDup``.
-
-To facilitate fast comparisons and reduce storage size, Traffic Server
-defines several pre-allocated field names. These field names correspond
-to the field names in HTTP and NNTP headers.
-
-``TS_MIME_FIELD_ACCEPT``
-    "Accept"
-    ``TS_MIME_LEN_ACCEPT``
-
-``TS_MIME_FIELD_ACCEPT_CHARSET``
-    "Accept-Charset"
-    ``TS_MIME_LEN_ACCEPT_CHARSET``
-
-``TS_MIME_FIELD_ACCEPT_ENCODING``
-    "Accept-Encoding"
-    ``TS_MIME_LEN_ACCEPT_ENCODING``
-
-``TS_MIME_FIELD_ACCEPT_LANGUAGE``
-    "Accept-Language"
-    ``TS_MIME_LEN_ACCEPT_LANGUAGE``
-
-``TS_MIME_FIELD_ACCEPT_RANGES``
-    "Accept-Ranges"
-    ``TS_MIME_LEN_ACCEPT_RANGES``
-
-``TS_MIME_FIELD_AGE``
-    "Age"
-    ``TS_MIME_LEN_AGE``
-
-``TS_MIME_FIELD_ALLOW``
-    "Allow"
-    ``TS_MIME_LEN_ALLOW``
-
-``TS_MIME_FIELD_APPROVED``
-    "Approved"
-    ``TS_MIME_LEN_APPROVED``
-
-``TS_MIME_FIELD_AUTHORIZATION``
-    "Authorization"
-    ``TS_MIME_LEN_AUTHORIZATION``
-
-``TS_MIME_FIELD_BYTES``
-    "Bytes"
-    ``TS_MIME_LEN_BYTES``
-
-``TS_MIME_FIELD_CACHE_CONTROL``
-    "Cache-Control"
-    ``TS_MIME_LEN_CACHE_CONTROL``
-
-``TS_MIME_FIELD_CLIENT_IP``
-    "Client-ip"
-    ``TS_MIME_LEN_CLIENT_IP``
-
-``TS_MIME_FIELD_CONNECTION``
-    "Connection"
-    ``TS_MIME_LEN_CONNECTION``
-
-``TS_MIME_FIELD_CONTENT_BASE``
-    "Content-Base"
-    ``TS_MIME_LEN_CONTENT_BASE``
-
-``TS_MIME_FIELD_CONTENT_ENCODING``
-    "Content-Encoding"
-    ``TS_MIME_LEN_CONTENT_ENCODING``
-
-``TS_MIME_FIELD_CONTENT_LANGUAGE``
-    "Content-Language"
-    ``TS_MIME_LEN_CONTENT_LANGUAGE``
-
-``TS_MIME_FIELD_CONTENT_LENGTH``
-    "Content-Length"
-    ``TS_MIME_LEN_CONTENT_LENGTH``
-
-``TS_MIME_FIELD_CONTENT_LOCATION``
-    "Content-Location"
-    ``TS_MIME_LEN_CONTENT_LOCATION``
-
-``TS_MIME_FIELD_CONTENT_MD5``
-    "Content-MD5"
-    ``TS_MIME_LEN_CONTENT_MD5``
-
-``TS_MIME_FIELD_CONTENT_RANGE``
-    "Content-Range"
-    ``TS_MIME_LEN_CONTENT_RANGE``
-
-``TS_MIME_FIELD_CONTENT_TYPE``
-    "Content-Type"
-    ``TS_MIME_LEN_CONTENT_TYPE``
-
-``TS_MIME_FIELD_CONTROL``
-    "Control"
-    ``TS_MIME_LEN_CONTROL``
-
-``TS_MIME_FIELD_COOKIE``
-    "Cookie"
-    ``TS_MIME_LEN_COOKIE``
-
-``TS_MIME_FIELD_DATE``
-    "Date"
-    ``TS_MIME_LEN_DATE``
-
-``TS_MIME_FIELD_DISTRIBUTION``
-    "Distribution"
-    ``TS_MIME_LEN_DISTRIBUTION``
-
-``TS_MIME_FIELD_ETAG``
-    "Etag"
-    ``TS_MIME_LEN_ETAG``
-
-``TS_MIME_FIELD_EXPECT``
-    "Expect"
-    ``TS_MIME_LEN_EXPECT``
-
-``TS_MIME_FIELD_EXPIRES``
-    "Expires"
-    ``TS_MIME_LEN_EXPIRES``
-
-``TS_MIME_FIELD_FOLLOWUP_TO``
-    "Followup-To"
-    ``TS_MIME_LEN_FOLLOWUP_TO``
-
-``TS_MIME_FIELD_FROM``
-    "From"
-    ``TS_MIME_LEN_FROM``
-
-``TS_MIME_FIELD_HOST``
-    "Host"
-    ``TS_MIME_LEN_HOST``
-
-``TS_MIME_FIELD_IF_MATCH``
-    "If-Match"
-    ``TS_MIME_LEN_IF_MATCH``
-
-``TS_MIME_FIELD_IF_MODIFIED_SINCE``
-    "If-Modified-Since"
-    ``TS_MIME_LEN_IF_MODIFIED_SINCE``
-
-``TS_MIME_FIELD_IF_NONE_MATCH``
-    "If-None-Match"
-    ``TS_MIME_LEN_IF_NONE_MATCH``
-
-``TS_MIME_FIELD_IF_RANGE``
-    "If-Range"
-    ``TS_MIME_LEN_IF_RANGE``
-
-``TS_MIME_FIELD_IF_UNMODIFIED_SINCE``
-    "If-Unmodified-Since"
-    ``TS_MIME_LEN_IF_UNMODIFIED_SINCE``
-
-``TS_MIME_FIELD_KEEP_ALIVE``
-    "Keep-Alive"
-    ``TS_MIME_LEN_KEEP_ALIVE``
-
-``TS_MIME_FIELD_KEYWORDS``
-    "Keywords"
-    ``TS_MIME_LEN_KEYWORDS``
-
-``TS_MIME_FIELD_LAST_MODIFIED``
-    "Last-Modified"
-    ``TS_MIME_LEN_LAST_MODIFIED``
-
-``TS_MIME_FIELD_LINES``
-    "Lines"
-    ``TS_MIME_LEN_LINES``
-
-``TS_MIME_FIELD_LOCATION``
-    "Location"
-    ``TS_MIME_LEN_LOCATION``
-
-``TS_MIME_FIELD_MAX_FORWARDS``
-    "Max-Forwards"
-    ``TS_MIME_LEN_MAX_FORWARDS``
-
-``TS_MIME_FIELD_MESSAGE_ID``
-    "Message-ID"
-    ``TS_MIME_LEN_MESSAGE_ID``
-
-``TS_MIME_FIELD_NEWSGROUPS``
-    "Newsgroups"
-    ``TS_MIME_LEN_NEWSGROUPS``
-
-``TS_MIME_FIELD_ORGANIZATION``
-    "Organization"
-    ``TS_MIME_LEN_ORGANIZATION``
-
-``TS_MIME_FIELD_PATH``
-    "Path"
-    ``TS_MIME_LEN_PATH``
-
-``TS_MIME_FIELD_PRAGMA``
-    "Pragma"
-    ``TS_MIME_LEN_PRAGMA``
-
-``TS_MIME_FIELD_PROXY_AUTHENTICATE``
-    "Proxy-Authenticate"
-    ``TS_MIME_LEN_PROXY_AUTHENTICATE``
-
-``TS_MIME_FIELD_PROXY_AUTHORIZATION``
-    "Proxy-Authorization"
-    ``TS_MIME_LEN_PROXY_AUTHORIZATION``
-
-``TS_MIME_FIELD_PROXY_CONNECTION``
-    "Proxy-Connection"
-    ``TS_MIME_LEN_PROXY_CONNECTION``
-
-``TS_MIME_FIELD_PUBLIC``
-    "Public"
-    ``TS_MIME_LEN_PUBLIC``
-
-``TS_MIME_FIELD_RANGE``
-    "Range"
-    ``TS_MIME_LEN_RANGE``
-
-``TS_MIME_FIELD_REFERENCES``
-    "References"
-    ``TS_MIME_LEN_REFERENCES``
-
-``TS_MIME_FIELD_REFERER``
-    "Referer"
-    ``TS_MIME_LEN_REFERER``
-
-``TS_MIME_FIELD_REPLY_TO``
-    "Reply-To"
-    ``TS_MIME_LEN_REPLY_TO``
-
-``TS_MIME_FIELD_RETRY_AFTER``
-    "Retry-After"
-    ``TS_MIME_LEN_RETRY_AFTER``
-
-``TS_MIME_FIELD_SENDER``
-    "Sender"
-    ``TS_MIME_LEN_SENDER``
-
-``TS_MIME_FIELD_SERVER``
-    "Server"
-    ``TS_MIME_LEN_SERVER``
-
-``TS_MIME_FIELD_SET_COOKIE``
-    "Set-Cookie"
-    ``TS_MIME_LEN_SET_COOKIE``
-
-``TS_MIME_FIELD_SUBJECT``
-    "Subject"
-    ``TS_MIME_LEN_SUBJECTTS_MIME_LEN_SUBJECT``
-
-``TS_MIME_FIELD_SUMMARY``
-    "Summary"
-    ``TS_MIME_LEN_SUMMARY``
-
-``TS_MIME_FIELD_TE``
-    "TE"
-    ``TS_MIME_LEN_TE``
-
-``TS_MIME_FIELD_TRANSFER_ENCODING``
-    "Transfer-Encoding"
-    ``TS_MIME_LEN_TRANSFER_ENCODING``
-
-``TS_MIME_FIELD_UPGRADE``
-    "Upgrade"
-    ``TS_MIME_LEN_UPGRADE``
-
-``TS_MIME_FIELD_USER_AGENT``
-    "User-Agent"
-    ``TS_MIME_LEN_USER_AGENT``
-
-``TS_MIME_FIELD_VARY``
-    "Vary"
-    ``TS_MIME_LEN_VARY``
-
-``TS_MIME_FIELD_VIA``
-    "Via"
-    ``TS_MIME_LEN_VIA``
-
-``TS_MIME_FIELD_WARNING``
-    "Warning"
-    ``TS_MIME_LEN_WARNING``
-
-``TS_MIME_FIELD_WWW_AUTHENTICATE``
-    "Www-Authenticate"
-    ``TS_MIME_LEN_WWW_AUTHENTICATE``
-
-``TS_MIME_FIELD_XREF``
-    "Xref"
-    ``TS_MIME_LEN_XREF``
-
-The header field names above are defined in ``ts.h`` as ``const char*``
-strings. When Traffic Server sets the name portion of a header field (or
-any portion for that matter), it quickly checks to see if the new value
-is one of the known values. If it is, then Traffic Server stores a
-pointer into a global table instead of storing the known value in the
-marshal buffer. The header field names listed above are also pointers
-into this table, which enables simple pointer comparison of the value
-returned from ``TSMimeHdrFieldNameGet`` with one of the values listed
-above. It is recommended that you use the above values when referring to
-one of the known header field names to avoid the possibility of a
-spelling error.
-
-Traffic Server adds one important feature to MIME fields that you may
-not know about: Traffic Server does not print a MIME field if the field
-name begins with the '``@``\ ' symbol. For example: a plugin can add the
-field "``@My-Field``\ " to a header. Even though Traffic Server never
-sends that field out in a request to an origin server or in a response
-to a client, it can be printed to Traffic Server logs by defining a
-custom log configuration file that explicitly logs such fields. This
-provides a useful mechanism for plugins to store information about an
-object in one of the MIME headers associated with the object.
-
-.. _MimeHeaderFxns:
-
-The MIME header functions are listed below:
-
--  :c:func:`TSMimeHdrFieldAppend`
--  :c:func:`TSMimeHdrFieldClone`
--  :c:func:`TSMimeHdrFieldCopy`
--  :c:func:`TSMimeHdrFieldCopyValues`
--  :c:func:`TSMimeHdrFieldCreate`
--  :c:func:`TSMimeHdrFieldDestroy`
--  :c:func:`TSMimeHdrFieldLengthGet`
--  :c:func:`TSMimeHdrFieldNameGet`
--  :c:func:`TSMimeHdrFieldNameSet`
--  :c:func:`TSMimeHdrFieldNext`
--  :c:func:`TSMimeHdrFieldNextDup`
--  :c:func:`TSMimeHdrFieldValueAppend`
--  :c:func:`TSMimeHdrFieldValueAppend`
--  :c:func:`TSMimeHdrFieldValueDateGet`
--  :c:func:`TSMimeHdrFieldValueDateInsert`
--  :c:func:`TSMimeHdrFieldValueDateSet`
--  :c:func:`TSMimeHdrFieldValueIntGet`
--  :c:func:`TSMimeHdrFieldValueIntSet`
--  :c:func:`TSMimeHdrFieldValueStringGet`
--  :c:func:`TSMimeHdrFieldValueStringInsert`
--  :c:func:`TSMimeHdrFieldValueStringSet`
--  :c:func:`TSMimeHdrFieldValueUintGet`
--  :c:func:`TSMimeHdrFieldValueUintInsert`
--  :c:func:`TSMimeHdrFieldValueUintSet`
--  :c:func:`TSMimeHdrFieldValuesClear`
--  :c:func:`TSMimeHdrFieldValuesCount`
--  :c:func:`TSMimeHdrClone`
--  :c:func:`TSMimeHdrCopy`
--  :c:func:`TSMimeHdrCreate`
--  :c:func:`TSMimeHdrDestroy`
--  :c:func:`TSMimeHdrFieldFind`
--  :c:func:`TSMimeHdrFieldGet`
--  :c:func:`TSMimeHdrFieldRemove`
--  :c:func:`TSMimeHdrFieldsClear`
--  :c:func:`TSMimeHdrFieldsCount`
--  :c:func:`TSMimeHdrLengthGet`
--  :c:func:`TSMimeHdrParse`
--  :c:func:`TSMimeParserClear`
--  :c:func:`TSMimeParserCreate`
--  :c:func:`TSMimeParserDestroy`
--  :c:func:`TSMimeHdrPrint`
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-headers/urls.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-headers/urls.en.rst b/doc/sdk/http-headers/urls.en.rst
deleted file mode 100644
index 0b24e63..0000000
--- a/doc/sdk/http-headers/urls.en.rst
+++ /dev/null
@@ -1,132 +0,0 @@
-URLs
-****
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
- 
-   http://www.apache.org/licenses/LICENSE-2.0
- 
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-
-API URL functions provide access to URL data stored in marshal buffers.
-The URL functions can create, copy, retrieve or delete entire URLs; they
-can also retrieve or modify parts of URLs, such as port or scheme
-information.
-
-The general form of an Internet URL is:
-
-::
-
-       scheme://user:password@host:port/stuff
-
-The URL data structure includes support for two specific types of
-internet URLs. HTTP URLs have the form:
-
-::
-
-       http://user:password@host:port/path;params?query#fragment
-
-The URL port is stored as integer. All remaining parts of the URL
-(scheme, user, etc.) are stored as strings. Traffic Server URL functions
-are named according to the portion of the URL on which they operate. For
-instance, the function that retrieves the host portion of a URL is named
-``TSUrlHostGet``.
-
-To facilitate fast comparisons and reduce storage size, Traffic Server
-defines several preallocated scheme names.
-
-``TS_URL_SCHEME_FILE``
-    "file"
-    ``TS_URL_LEN_FILE``
-
-``TS_URL_SCHEME_FTP``
-    "ftp"
-    ``TS_URL_LEN_FTP``
-
-``TS_URL_SCHEME_GOPHER``
-    "gopher"
-    ``TS_URL_LEN_GOPHER``
-
-``TS_URL_SCHEME_HTTP``
-    "http"
-    ``TS_URL_LEN_HTTP``
-
-``TS_URL_SCHEME_HTTPS``
-    "https"
-    ``TS_URL_LEN_HTTPS``
-
-``TS_URL_SCHEME_MAILTO``
-    "mailto"
-    ``TS_URL_LEN_MAILTO``
-
-``TS_URL_SCHEME_NEWS``
-    "news"
-    ``TS_URL_LEN_NEWS``
-
-``TS_URL_SCHEME_NNTP``
-    "nntp"
-    ``TS_URL_LEN_NNTP``
-
-``TS_URL_SCHEME_PROSPERO``
-    "prospero"
-    ``TS_URL_LEN_PROSPERO``
-
-``TS_URL_SCHEME_TELNET``
-    "telnet"
-    ``TS_URL_LEN_TELNET``
-
-``TS_URL_SCHEME_WAIS``
-    "wais"
-    ``TS_URL_LEN_WAIS``
-
-The scheme names above are defined in ``ts.h`` as ``const`` ``char*``
-strings. When Traffic Server sets the scheme portion of the URL (or any
-portion for that matter), it quickly checks to see if the new value is
-one of the known values. If it is, then it stores a pointer into a
-global table (instead of storing the known value in the marshal buffer).
-The scheme values listed above are also pointers into this table. This
-allows simple pointer comparison of the value returned from
-``TSUrlSchemeGet`` with one of the values listed above. You should use
-the Traffic Server-defined values when referring to one of the known
-schemes, since doing so can prevent the possibility of spelling errors.
-
-Traffic Server **URL functions** are listed below:
-
-:c:func:`TSUrlClone`
-:c:func:`TSUrlCopy`
-:c:func:`TSUrlCreate`
-:c:func:`TSUrlDestroy`
-:c:func:`TSUrlPrint`
-:c:func:`TSUrlFtpTypeGet`
-:c:func:`TSUrlFtpTypeSet`
-:c:func:`TSUrlHostGet`
-:c:func:`TSUrlHostSet`
-:c:func:`TSUrlHttpFragmentGet`
-:c:func:`TSUrlHttpFragmentSet`
-:c:func:`TSUrlHttpParamsGet`
-:c:func:`TSUrlHttpParamsSet`
-:c:func:`TSUrlHttpQueryGet`
-:c:func:`TSUrlHttpQuerySet`
-:c:func:`TSUrlLengthGet`
-:c:func:`TSUrlParse`
-:c:func:`TSUrlPasswordGet`
-:c:func:`TSUrlPasswordSet`
-:c:func:`TSUrlPathGet`
-:c:func:`TSUrlPathSet`
-:c:func:`TSUrlPortGet`
-:c:func:`TSUrlPortSet`
-:c:func:`TSUrlSchemeGet`
-:c:func:`TSUrlSchemeSet`
-:c:func:`TSUrlStringGet`
-:c:func:`TSUrlUserGet`
-:c:func:`TSUrlUserSet`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-hooks-and-transactions.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-hooks-and-transactions.en.rst b/doc/sdk/http-hooks-and-transactions.en.rst
deleted file mode 100644
index 25b0bbf..0000000
--- a/doc/sdk/http-hooks-and-transactions.en.rst
+++ /dev/null
@@ -1,155 +0,0 @@
-HTTP Hooks and Transactions
-***************************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-  
-    http://www.apache.org/licenses/LICENSE-2.0
-  
-   Unless required by applicable law or agreed to in writing,
-   software distributed under the License is distributed on an
-   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-   KIND, either express or implied.  See the License for the
-   specific language governing permissions and limitations
-   under the License.
-
-Hooks are points in Traffic Server transaction processing where plugins
-can step in and do some work. Registering a plugin function for callback
-amounts to "adding" the function to a hook. You can register your plugin
-to be called back for every single transaction or only for specific
-transactions.
-
-This chapter contains the following sections:
-
-.. toctree::
-   :maxdepth: 2
-
-   http-hooks-and-transactions/adding-hooks.en
-   http-hooks-and-transactions/http-sessions.en
-   http-hooks-and-transactions/http-transactions.en
-   http-hooks-and-transactions/intercepting-http-transactions.en
-   http-hooks-and-transactions/initiate-http-connection.en
-   http-hooks-and-transactions/http-alternate-selection.en
-
-The Set of Hooks
-----------------
-
-To understand hooks and transactions, you should be familiar with the
-following terminology:
-
-HTTP Transaction
-----------------
-
-A **transaction** consists of a single HTTP request from a client and
-the response Traffic Server sends to that client. Thus, a transaction
-begins when Traffic Server receives a request and ends when Traffic
-Server sends the response.
-
-Traffic Server uses **HTTP state machines** to process transactions. The
-state machines follow a complex set of states involved in sophisticated
-caching and document retrieval (taking into account, for example,
-alternate selection, freshness criteria, and hierarchical caching). The
-Traffic Server API provides hooks to a subset of these states, as
-illustrated in the :ref:`http-txn-state-diagram` below.
-
-Transform hooks
----------------
-
-The two **transform hooks**, ``TS_HTTP_REQUEST_TRANSFORM_HOOK`` and
-``TS_HTTP_RESPONSE_TRANSFORM_HOOK``, are called in the course of an HTTP
-transform. To see where in the HTTP transaction they are called, look
-for the "set up transform" ovals in the :ref:`http-txn-state-diagram` below.
-
-HTTP session
-------------
-
-A **session** consists of a single client connection to Traffic Server;
-it may consist of a single transaction or several transactions in
-succession. The session starts when the client connection opens and ends
-when the connection closes.
-
-.. _http-txn-state-diagram:
-
-HTTP Transaction State Diagram
-------------------------------
-
-.. graphviz::
-   :alt: HTTP Transaction State Diagram
-
-   digraph http_txn_state_diagram{
-     accept -> TS_HTTP_TXN_START_HOOK;
-     TS_HTTP_TXN_START_HOOK -> "read req hdrs";
-     "read req hdrs" -> TS_HTTP_READ_REQUEST_HDR_HOOK;
-     TS_HTTP_READ_REQUEST_HDR_HOOK -> TS_HTTP_PRE_REMAP_HOOK;
-     TS_HTTP_PRE_REMAP_HOOK -> "remap request";
-     "remap request" -> TS_HTTP_POST_REMAP_HOOK;
-     TS_HTTP_POST_REMAP_HOOK -> "cache lookup";
-     "cache lookup" -> DNS [label = "miss"];
-     DNS -> TS_HTTP_OS_DNS_HOOK;
-     TS_HTTP_OS_DNS_HOOK -> TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK;
-     "cache lookup" -> TS_HTTP_SELECT_ALT_HOOK [label = "hit"];
-     TS_HTTP_SELECT_ALT_HOOK -> "cache match";
-     "cache match" -> TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK [label="no match"];
-     "cache match" -> TS_HTTP_READ_CACHE_HDR_HOOK [label = "cache fresh"];
-     TS_HTTP_READ_CACHE_HDR_HOOK -> "cache fresh";
-     "cache fresh" -> TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK;
-     TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK -> "lock URL in cache" [label = "miss"];
-     TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK -> "lock URL in cache" [label = "no match  "];
-     TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK -> "lock URL in cache" [label = "stale"];
-     TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK -> "send cached hdrs" [label = "fresh"];
-     "send cached hdrs" -> "set up transform";
-     "lock URL in cache" -> "pick address";
-     "pick address" -> "try connect" [label = "       "];
-     "try connect" -> "pick address" [label = "fail"];
-     "try connect" -> TS_HTTP_SEND_REQUEST_HDR_HOOK [label = "success"];
-     TS_HTTP_SEND_REQUEST_HDR_HOOK -> "send req hdrs";
-     "send req hdrs" -> "set up POST/PUT read" [label = "POST/PUT"];
-     "send req hdrs" -> "read reply hdrs" [label = "GET"];
-     "set up POST/PUT read" -> "set up req transform";
-     "set up req transform" -> "tunnel req body";
-     "tunnel req body" -> "read reply hdrs";
-     "read reply hdrs" -> TS_HTTP_READ_RESPONSE_HDR_HOOK;
-     TS_HTTP_READ_RESPONSE_HDR_HOOK -> "check valid";
-     "check valid" -> "setup server read" [label = "yes"];
-     "check valid" -> "pick address" [label = "no"];
-     "setup server read" -> "set up cache write" [label = "cacheable"];
-     "setup server read" -> "set up transform" [label = "uncacheable"];
-     "set up cache write" -> "set up transform";
-     "set up transform" -> TS_HTTP_SEND_RESPONSE_HDR_HOOK;
-     TS_HTTP_SEND_RESPONSE_HDR_HOOK -> "send reply hdrs";
-     "send reply hdrs" -> "tunnel response";
-     "tunnel response" -> TS_HTTP_TXN_CLOSE_HOOK;
-     TS_HTTP_TXN_CLOSE_HOOK -> accept;
-    
-     TS_HTTP_TXN_START_HOOK [shape=box];
-     TS_HTTP_READ_REQUEST_HDR_HOOK [shape = box];
-     TS_HTTP_PRE_REMAP_HOOK [shape = box];
-     TS_HTTP_POST_REMAP_HOOK [shape = box];
-     TS_HTTP_OS_DNS_HOOK [shape = box];
-     TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK[shape = box];
-     TS_HTTP_SELECT_ALT_HOOK [shape = box];
-     TS_HTTP_READ_CACHE_HDR_HOOK [shape = box];
-     TS_HTTP_SEND_REQUEST_HDR_HOOK [shape = box];
-     "set up req transform" [tooltip = "req transform takes place here"];
-     TS_HTTP_READ_RESPONSE_HDR_HOOK [shape = box];
-     "set up transform" [tooltip = "response transform takes place here"];
-     TS_HTTP_SEND_RESPONSE_HDR_HOOK [shape = box];
-     TS_HTTP_TXN_CLOSE_HOOK [shape = box];
-   }
-
-HTTP Transacation Timers
-------------------------
-
-For an overview of HTTP transaction timers, refer to the transaction timer diagram
-below.
-
-.. toctree::
-  :maxdepth: 1
-
-  Transaction Timers: Trafficserver Timers at different states <trafficserver-timers.en>
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-hooks-and-transactions/adding-hooks.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-hooks-and-transactions/adding-hooks.en.rst b/doc/sdk/http-hooks-and-transactions/adding-hooks.en.rst
deleted file mode 100644
index 6a3cbb4..0000000
--- a/doc/sdk/http-hooks-and-transactions/adding-hooks.en.rst
+++ /dev/null
@@ -1,151 +0,0 @@
-Adding Hooks
-************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
- 
-   http://www.apache.org/licenses/LICENSE-2.0
- 
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-
-There are several ways to add hooks to your plugin.
-
--  **Global HTTP hooks** HTTP transaction hooks are set on a global
-   basis using the function ``TSHttpHookAdd``. This means that the
-   continuation specified as the parameter to ``TSHttpHookAdd`` is
-   called for every transaction. ``TSHttpHookAdd`` must be used in
-   ``TSPluginInit``.
-
--  **Transaction hooks** Transaction hooks can be used to call plugins
-   back for a specific HTTP transaction. You cannot add transaction
-   hooks in ``TSPluginInit``; you first need a handle to a transaction.
-   See :doc:`Accessing the Transaction Being
-   Processed <../header-based-plugin-examples/blacklist-plugin/accessing-the-transaction-being-processed.en>`
-
--  **Transformation hooks** Transformation hooks are a special case of
-   transaction hooks. See
-   :c:func:`TSVConnCacheObjectSizeGet`
-   for more information about transformation hooks. You add a
-   transformation hook using ``TSHttpTxnHookAdd``, as described in :doc:`HTTP
-   Transactions <http-transactions.en>`.
-
--  **Session hooks** An HTTP session starts when a client opens a
-   connection to Traffic Server and ends when the connection closes. A
-   session can consist of several transactions. Session hooks enable you
-   to hook your plugin to a particular point in every transaction within
-   a specified session (see :doc:`HTTP Sessions <http-sessions.en>`).
-   Session hooks are added in a manner similar to transaction hooks (ie,
-   you first need a handle to an HTTP session).
-
--  **HTTP select alternate hook** Alternate selection hooks enable you
-   to hook on to the alternate selection state. These hooks must be
-   added globally, since Traffic Server does not have a handle to a
-   transaction or session when alternate selection is taking place. See
-   :doc:`HTTP Alternate Selection <http-alternate-selection.en>` for
-   information on the alternate selection mechanism.
-
-All of the hook addition functions
-(:c:func:`TSHttpHookAdd`,
-:c:func:`TSHttpSsnHookAdd`,
-:c:func:`TSHttpSsnReenable`)
-take ``TSHttpHookID`` (identifies the hook to add on to) and ``TSCont``
-(the basic callback mechanism in Traffic Server). A single ``TSCont``
-can be added to any number of hooks at a time.
-
-An HTTP hook is identified by the enumerated type ``TSHttpHookID``. The
-values for ``TSHttpHookID`` are:
-
-**Values for TSHttpHookID**
-
-``TS_HTTP_CACHE_LOOKUP_COMPLETE_HOOK``
-    Called after the HTTP state machine has completed the cache lookup
-    for the document requested in the ongoing transaction. Register this
-    hook via ``TSHttpTxnHookAdd`` or ``TSHttpHookAdd``. Corresponds to
-    the event ``TS_EVENT_HTTP_CACHE_LOOKUP_COMPLETE``.
-
-``TS_HTTP_OS_DNS_HOOK``
-    Called immediately after the HTTP state machine has completed a DNS
-    lookup of the origin server. The HTTP state machine will know the
-    origin server's IP address at this point, which is useful for
-    performing both authentication and blacklisting. Corresponds to the
-    event ``TS_EVENT_HTTP_OS_DNS``.
-
-``TS_HTTP_POST_REMAP_HOOK``
-    Called immediately after remapping occurs, before cache lookup.
-    Corresponds to the event ``TS_EVENT_HTTP_POST_REMAP``.
-
-``TS_HTTP_PRE_REMAP_HOOK``
-    Called after the request header is read from the client, before any
-    remapping of the headers occurs. Corresponds to the event
-    ``TS_EVENT_HTTP_PRE_REMAP``.
-
-``TS_HTTP_READ_CACHE_HDR_HOOK``
-    Called immediately after the request and response header of a
-    previously-cached object is read from cache. This hook is only
-    called if the document is being served from cache. Corresponds to
-    the event ``TS_EVENT_HTTP_READ_CACHE_HDR``.
-
-``TS_HTTP_READ_RESPONSE_HDR_HOOK``
-    Called immediately after the response header is read from the origin
-    server or parent proxy. Corresponds to the event
-    ``TS_EVENT_HTTP_READ_RESPONSE_HDR``.
-
-``TS_HTTP_RESPONSE_TRANSFORM_HOOK``
-    See :ref:`"Transformations" <transformations>`
-    for information about transformation hooks.
-
-``TS_HTTP_READ_REQUEST_HDR_HOOK``
-    Called immediately after the request header is read from the client.
-    Corresponds to the event ``TS_EVENT_HTTP_READ_REQUEST_HDR``.
-
-``TS_HTTP_REQUEST_TRANSFORM_HOOK``
-    See :ref:`"Transformations" <transformations>`
-    for information about transformation hooks.
-
-``TS_HTTP_SELECT_ALT_HOOK``
-    See :doc:`"HTTP Alternate Selection" <http-alternate-selection.en>` for
-    information about the alternate selection mechanism.
-
-``TS_HTTP_SEND_RESPONSE_HDR_HOOK``
-    Called immediately before the proxy's response header is written to
-    the client; this hook is usually used for modifying the response
-    header. Corresponds to the event
-    ``TS_EVENT_HTTP_SEND_RESPONSE_HDR``.
-
-``TS_HTTP_SEND_REQUEST_HDR_HOOK``
-    Called immediately before the proxy's request header is sent to the
-    origin server or the parent proxy. This hook is not called if the
-    document is being served from cache. This hook is usually used for
-    modifying the proxy's request header before it is sent to the origin
-    server or parent proxy.
-
-``TS_HTTP_SSN_CLOSE_HOOK``
-    Called when an HTTP session ends. A session ends when the client
-    connection is closed. You can only add this hook as a global hook
-
-``TS_HTTP_SSN_START_HOOK``
-    Called when an HTTP session is started. A session starts when a
-    client connects to Traffic Server. You can only add this hook as a
-    global hook.
-
-``TS_HTTP_TXN_CLOSE_HOOK``
-    Called when an HTTP transaction ends.
-
-``TS_HTTP_TXN_START_HOOK``
-    Called when an HTTP transaction is started. A transaction starts
-    when either a client connects to Traffic Server and data is
-    available on the connection, or a previous client connection that
-    was left open for keep alive has new data available.
-
-The function you use to add a global HTTP hook is
-:c:func:`TSHttpHookAdd`.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-hooks-and-transactions/http-alternate-selection.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-hooks-and-transactions/http-alternate-selection.en.rst b/doc/sdk/http-hooks-and-transactions/http-alternate-selection.en.rst
deleted file mode 100644
index 3a2b3b5..0000000
--- a/doc/sdk/http-hooks-and-transactions/http-alternate-selection.en.rst
+++ /dev/null
@@ -1,189 +0,0 @@
-HTTP Alternate Selection
-************************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-  
-    http://www.apache.org/licenses/LICENSE-2.0
-  
-   Unless required by applicable law or agreed to in writing,
-   software distributed under the License is distributed on an
-   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-   KIND, either express or implied.  See the License for the
-   specific language governing permissions and limitations
-   under the License.
-
-The HTTP alternate selection functions provide a mechanism for hooking
-into Traffic Server's alternate selection mechanism and augmenting it
-with additional information. **HTTP alternate selection** refers to the
-process of choosing between several alternate versions of a document for
-a specific URL. Alternates arise because the HTTP 1.1 specification
-allows different documents to be sent back for the same URL (depending
-on the clients request). For example, a server might send back a GIF
-image to a client that only accepts GIF images, and might send back a
-JPEG image to a client that only accepts JPEG images.
-
-The alternate selection mechanism is invoked when Traffic Server looks
-up a URL in its cache. For each URL, Traffic Server stores a vector of
-alternates. For each alternate in this vector, Traffic Server computes a
-quality value between 0 and 1 that represents how "good" the alternate
-is. A quality value of 0 means that the alternate is unacceptable; a
-value of 1 means that the alternate is a perfect match.
-
-If a plugin hooks onto the ``TS_HTTP_SELECT_ALT_HOOK``, then it will be
-called back when Traffic Server performs alternate selection. You cannot
-register locally to the hook ``TS_HTTP_SELECT_ALT_HOOK`` by using
-``TSHttpTxnHookAdd`` - you can only do so by using only
-``TSHttpHookAdd``. Since Traffic Server does not actually have an HTTP
-transaction or an HTTP session on hand when alternate selection is
-performed, it is only valid to hook onto the global list of
-``TS_HTTP_SELECT_ALT_HOOK``. Traffic Server calls each of the select
-alternate hooks with the ``TS_EVENT_HTTP_SELECT_ALT`` event. The
-``void *edata`` argument that is passed to the continuation is a pointer
-to an ``TSHttpAltInfo`` structure. It can be used later to call the HTTP
-alternate selection functions listed at the end of this section. Unlike
-other hooks, this alternate selection callout is non-blocking; the
-expectation is that the quality value for the alternate will be changed
-by a call to ``TSHttpAltInfoQualitySet``.
-
-.. note::
-
-   HTTP SM does not have to be reenabled using ``TSHttpTxnReenable`` or any
-   other APIs; just return from the function.
-
-The sample code below shows how to call the alternate APIs.
-
-.. code-block:: c
-
-   static void handle_select_alt(TSHttpAltInfo infop)
-   {
-      TSMBuffer client_req_buf, cache_resp_buf;
-      TSMLoc client_req_hdr, cache_resp_hdr;
-      
-      TSMLoc accept_transform_field;
-      TSMLoc content_transform_field;
-      
-      int accept_transform_len = -1, content_transform_len = -1;
-      const char* accept_transform_value = NULL;
-      const char* content_transform_value = NULL;
-      int content_plugin, accept_plugin;
-      
-      float quality;
-      
-      /* get client request, cached request and cached response */
-      TSHttpAltInfoClientReqGet (infop, &client_req_buf, &client_req_hdr);
-      TSHttpAltInfoCachedRespGet(infop, &cache_resp_buf, &cache_resp_hdr);
-      
-      /* get the Accept-Transform field value from the client request */
-      accept_transform_field = TSMimeHdrFieldFind(client_req_buf,
-         client_req_hdr, "Accept-Transform", -1);
-      if (accept_transform_field) {
-         TSMimeHdrFieldValueStringGet(client_req_buf, client_req_hdr,
-            accept_transform_field, 0, &accept_transform_value, &accept_transform_len);
-         TSDebug(DBG_TAG, "Accept-Transform = |%s|",
-            accept_transform_value);
-      }
-       
-      /* get the Content-Transform field value from cached server response */
-      content_transform_field = TSMimeHdrFieldFind(cache_resp_buf,
-         cache_resp_hdr, "Content-Transform", -1);
-      if (content_transform_field) {
-         TSMimeHdrFieldValueStringGet(cache_resp_buf, cache_resp_hdr,
-            content_transform_field, 0, &content_transform_value, &content_transform_len);
-         TSDebug(DBG_TAG, "Content-Transform = |%s|",
-            content_transform_value);
-      }
-       
-      /* compute quality */
-      accept_plugin = (accept_transform_value && (accept_transform_len > 0) &&
-         (strncmp(accept_transform_value, "plugin",
-            accept_transform_len) == 0));
-      
-      content_plugin = (content_transform_value && (content_transform_len >0) &&
-         (strncmp(content_transform_value, "plugin",
-            content_transform_len) == 0));
-      
-      if (accept_plugin) {
-         quality = content_plugin ? 1.0 : 0.0;
-      } else {
-         quality = content_plugin ? 0.0 : 0.5;
-      }
-      
-      TSDebug(DBG_TAG, "Setting quality to %3.1f", quality);
-       
-      /* set quality for this alternate */
-      TSHttpAltInfoQualitySet(infop, quality);
-       
-      /* cleanup */
-      if (accept_transform_field)
-         TSHandleMLocRelease(client_req_buf, client_req_hdr,
-            accept_transform_field);
-      TSHandleMLocRelease(client_req_buf, TS_NULL_MLOC, client_req_hdr);
-      
-      if (content_transform_field)
-         TSHandleMLocRelease(cache_resp_buf, cache_resp_hdr,
-            content_transform_field);
-      TSHandleMLocRelease(cache_resp_buf, TS_NULL_MLOC, cache_resp_hdr);
-   }
-       
-   static int alt_plugin(TSCont contp, TSEvent event, void *edata)
-   {
-      TSHttpAltInfo infop;
-      
-      switch (event) {
-         case TS_EVENT_HTTP_SELECT_ALT:
-            infop = (TSHttpAltInfo)edata;
-            handle_select_alt(infop);
-            break;
-
-         default:
-            break;
-      }
-      
-      return 0;
-   }
-       
-   void TSPluginInit (int argc, const char *argv[])
-   {
-      TSHttpHookAdd(TS_HTTP_SELECT_ALT_HOOK, TSContCreate (alt_plugin,
-         NULL));
-   }
-
-Traffic Server augments the alternate selection through these callouts
-using the following algorithm:
-
-1. Traffic Server computes its own quality value for the alternate,
-   taking into account the quality of the accept match, the encoding
-   match, and the language match.
-
-2. Traffic Server then calls out each of the continuations on the global
-   ``TS_HTTP_SELECT_ALT_HOOK``'s list.
-
-3. It multiplies its quality value with the value returned by each
-   callout. Since all of the values are clamped to be between 0 and 1,
-   the final value will be between 0 and 1 as well.
-
-4. This algorithm also ensures that a single callout can block the usage
-   of a given alternate by specifying a quality value of 0.
-
-A common usage for the alternate selection mechanism is when a plugin
-transforms a document for some clients and not for others, but wants to
-store both the transformed and unchanged document. The client's request
-will specify whether it accepted the transformed document. The plugin
-will then determine if the alternate matches this specification and then
-set the appropriate quality level for the alternate.
-
-The HTTP alternate selection functions are:
-
--  `TSHttpAltInfoCachedReqGet <http://people.apache.org/~amc/ats/doc/html/ts_8h.html#af4f3a56716e3e97afd582c7fdb14bcb7>`_
-
--  `TSHttpAltInfoCachedRespGet <http://people.apache.org/~amc/ats/doc/html/ts_8h.html#aff5861ae4a4a7a6ce7b2d669c113b3bb>`_
-
--  `TSHttpAltInfoClientReqGet <http://people.apache.org/~amc/ats/doc/html/ts_8h.html#a74d494c6442b6012d8385e92f0e14dee>`_
-
--  `TSHttpAltInfoQualitySet <http://people.apache.org/~amc/ats/doc/html/ts_8h.html#a978b7160a048491d5698e0f4c0c79aad>`_

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-hooks-and-transactions/http-sessions.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-hooks-and-transactions/http-sessions.en.rst b/doc/sdk/http-hooks-and-transactions/http-sessions.en.rst
deleted file mode 100644
index b4014e5..0000000
--- a/doc/sdk/http-hooks-and-transactions/http-sessions.en.rst
+++ /dev/null
@@ -1,52 +0,0 @@
-HTTP Sessions
-*************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
- 
-   http://www.apache.org/licenses/LICENSE-2.0
- 
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-
-An **HTTP session** is an object that is defined for the lifetime of a
-client's TCP session. The Traffic Server API enables you to add a global
-hook to the start or end of an HTTP session, as well as add session
-hooks that call back your plugin for every transaction within a given
-session. When a client connects to Traffic Server, it opens up a TCP
-connection and sends one or more HTTP requests. An individual request
-and its response comprise the HTTP transaction. The **HTTP session**
-begins when the client opens the connection and ends when the connection
-closes.
-
-The HTTP session hooks are:
-
--  ``TS_HTTP_SSN_START_HOOK`` Called when an HTTP session is started (a
-   session starts when a client connects to Traffic Server). This hook
-   must be added as a global hook.
-
--  ``TS_HTTP_SSN_CLOSE_HOOK`` Called when an HTTP session ends (a
-   session ends when the client connection is closed). This hook must be
-   added as a global hook.
-
-Use the session hooks to get a handle to a session (an ``TSHttpSsn``
-object). If you want your plugin to be called back for each transaction
-within the session, then use ``TSHttpSsnHookAdd``.
-
-**Note:** you must reenable the session with ``TSHttpSsnReenable`` after
-processing a session hook.
-
-The session hook functions are listed below:
-
--  :c:func:`TSHttpSsnHookAdd`
--  :c:func:`TSHttpSsnReenable`
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-hooks-and-transactions/http-transactions.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-hooks-and-transactions/http-transactions.en.rst b/doc/sdk/http-hooks-and-transactions/http-transactions.en.rst
deleted file mode 100644
index 7aad410..0000000
--- a/doc/sdk/http-hooks-and-transactions/http-transactions.en.rst
+++ /dev/null
@@ -1,203 +0,0 @@
-HTTP Transactions
-*****************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
- 
-   http://www.apache.org/licenses/LICENSE-2.0
- 
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-
-The HTTP transaction functions enable you to set up plugin callbacks to
-HTTP transactions and obtain/modify information about particular HTTP
-transactions.
-
-As described in the section on HTTP sessions, an **HTTP transaction** is
-an object defined for the lifetime of a single request from a client and
-the corresponding response from Traffic Server. The **``TSHttpTxn``**
-structure is the main handle given to a plugin for manipulating a
-transaction's internal state. Additionally, an HTTP transaction has a
-reference back to the HTTP session that created it.
-
-The sample code below illustrates how to register locally to a
-transaction and associate data to the transaction.
-
-.. code-block:: c
-
-    /*
-    * Simple plugin that illustrates:
-    * - how to register locally to a transaction
-    * - how to deal with data that's associated with a tranaction
-    *
-    * Note: for readability, error checking is omitted
-    */
-
-    #include <ts/ts.h>
-
-    #define DBG_TAG "txn"
-
-    /* Structure to be associated to txns */
-    typedef struct {
-       int i;
-       float f;
-       char *s;
-    } TxnData;
-
-    /* Allocate memory and init a TxnData structure */
-    TxnData *
-    txn_data_alloc()
-    {
-       TxnData *data;
-       data = TSmalloc(sizeof(TxnData));
-        
-       data->i = 1;
-       data->f = 0.5;
-       data->s = "Constant String";
-       return data;
-    }
-        
-    /* Free up a TxnData structure */
-    void
-    txn_data_free(TxnData *data)
-    {
-       TSfree(data);
-    }
-        
-    /* Handler for event READ_REQUEST and TXN_CLOSE */
-    static int
-    local_hook_handler (TSCont contp, TSEvent event, void *edata)
-    {
-       TSHttpTxn txnp = (TSHttpTxn) edata;
-       TxnData *txn_data = TSContDataGet(contp);
-       switch (event) {
-       case TS_EVENT_HTTP_READ_REQUEST_HDR:
-          /* Modify values of txn data */
-          txn_data->i = 2;
-          txn_data->f = 3.5;
-          txn_data->s = "Constant String 2";
-          break;
-        
-       case TS_EVENT_HTTP_TXN_CLOSE:
-          /* Print txn data values */
-          TSDebug(DBG_TAG, "Txn data i=%d f=%f s=%s", txn_data->i, txn_data->f, txn_data->s);
-        
-          /* Then destroy the txn cont and its data */
-          txn_data_free(txn_data);
-          TSContDestroy(contp);
-          break;
-        
-       default:
-           TSAssert(!"Unexpected event");
-           break;
-       }
-        
-       TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE);
-       return 1;
-    }
-        
-    /* Handler for event TXN_START */
-    static int
-    global_hook_handler (TSCont contp, TSEvent event, void *edata)
-    {
-       TSHttpTxn txnp = (TSHttpTxn) edata;
-       TSCont txn_contp;
-       TxnData *txn_data;
-        
-       switch (event) {
-       case TS_EVENT_HTTP_TXN_START:
-          /* Create a new continuation for this txn and associate data to it */
-          txn_contp = TSContCreate(local_hook_handler, TSMutexCreate());
-          txn_data = txn_data_alloc();
-          TSContDataSet(txn_contp, txn_data);
-        
-          /* Registers locally to hook READ_REQUEST and TXN_CLOSE */
-          TSHttpTxnHookAdd(txnp, TS_HTTP_READ_REQUEST_HDR_HOOK, txn_contp);
-          TSHttpTxnHookAdd(txnp, TS_HTTP_TXN_CLOSE_HOOK, txn_contp);
-          break;
-        
-       default:
-          TSAssert(!"Unexpected event");
-          break;
-       }
-        
-       TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE);
-       return 1;
-    }
-        
-        
-    void
-    TSPluginInit (int argc, const char *argv[])
-    {
-       TSCont contp;
-        
-       /* Note that we do not need a mutex for this txn since it registers globally
-          and doesn't have any data associated with it */
-       contp = TSContCreate(global_hook_handler, NULL);
-        
-       /* Register gloabally */
-       TSHttpHookAdd(TS_HTTP_TXN_START_HOOK, contp);
-    }
-
-See :doc:`Adding Hooks <adding-hooks.en>` for background about HTTP
-transactions and HTTP hooks, as well as :doc:`HTTP Hooks and
-Transactions <../http-hooks-and-transactions.en>` Also see the :ref:`HTTP
-Transaction State Diagram <http-txn-state-diagram>`
-for an illustration of the steps involved in a typical HTTP transaction.
-
-The HTTP transaction functions are:
-
--  :c:func:`TSHttpTxnCacheLookupStatusGet`
-
--  :c:func:`TSHttpTxnCachedReqGet`
-   - Note that it is an error to modify cached headers.
-
--  :c:func:`TSHttpTxnCachedRespGet`
-   - Note that it is an error to modify cached headers.
-
--  :c:func:`TSHttpTxnClientIncomingPortGet`
-
--  :c:func:`TSHttpTxnClientIPGet`
-
--  :c:func:`TSHttpTxnClientRemotePortGet`
-
--  :c:func:`TSHttpTxnClientReqGet`
-   - Plugins that must read client request headers use this call to
-   retrieve the HTTP header.
-
--  :c:func:`TSHttpTxnClientRespGet`
-
--  :c:func:`TSHttpTxnErrorBodySet`
-
--  :c:func:`TSHttpTxnHookAdd`
-
--  :c:func:`TSHttpTxnNextHopAddrGet`
-
--  :c:func:`TSHttpTxnParentProxySet`
-
--  :c:func:`TSHttpTxnReenable`
-
--  :c:func:`TSHttpTxnServerAddrGet`
-
--  :c:func:`TSHttpTxnServerReqGet`
-
--  :c:func:`TSHttpTxnServerRespGet`
-
--  :c:func:`TSHttpTxnSsnGet`
-
--  :c:func:`TSHttpTxnTransformedRespCache`
-
--  :c:func:`TSHttpTxnTransformRespGet`
-
--  :c:func:`TSHttpTxnUntransformedRespCache`
-
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-hooks-and-transactions/initiate-http-connection.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-hooks-and-transactions/initiate-http-connection.en.rst b/doc/sdk/http-hooks-and-transactions/initiate-http-connection.en.rst
deleted file mode 100644
index e5921ad..0000000
--- a/doc/sdk/http-hooks-and-transactions/initiate-http-connection.en.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-Initiate HTTP Connection
-************************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
- 
-   http://www.apache.org/licenses/LICENSE-2.0
- 
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-
-This function enables plugins to initiate HTTP transactions. The
-initiate HTTP connection function is:
-
--  :c:func:`TSHttpConnect`
-

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/sdk/http-hooks-and-transactions/intercepting-http-transactions.en.rst
----------------------------------------------------------------------
diff --git a/doc/sdk/http-hooks-and-transactions/intercepting-http-transactions.en.rst b/doc/sdk/http-hooks-and-transactions/intercepting-http-transactions.en.rst
deleted file mode 100644
index 9a7d59b..0000000
--- a/doc/sdk/http-hooks-and-transactions/intercepting-http-transactions.en.rst
+++ /dev/null
@@ -1,30 +0,0 @@
-Intercepting HTTP Transactions
-******************************
-
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
- 
-   http://www.apache.org/licenses/LICENSE-2.0
- 
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-
-The intercepting HTTP transaction functions enable plugins to intercept
-transactions either after the request is received or upon contact with
-the origin server. The plugin then acts as the origin server using the
-``TSVConn`` interface. The intercepting HTTP transaction function allow
-for reading ``POST`` bodies in plugins as well as using alternative
-transports to the origin server.The intercepting HTTP transaction
-functions are:
-
--  :c:func:`TSHttpTxnIntercept`
-


Mime
View raw message