You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Ron Barber (JIRA)" <ji...@apache.org> on 2014/03/28 16:00:26 UTC

[jira] [Comment Edited] (TS-2656) Determine server connection scheme immediately before connecting.

    [ https://issues.apache.org/jira/browse/TS-2656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13950815#comment-13950815 ] 

Ron Barber edited comment on TS-2656 at 3/28/14 2:58 PM:
---------------------------------------------------------

Previous patch was incomplete and did not handle the case where the server_request URL was never set.  In that case it should take the scheme from the client_request URL.

This patch has run on one of our lesser production farms (ct ycs) for 12 plus hours without any noticeable issue.  Also ran for a short time on a production server (ycpi) which get our most diverse traffic without any noticeable issue.


was (Author: rwbarber2):
Previous patch was incomplete and did not handle the case where the server_request URL was never set.  In that case it should take the scheme from the client_request URL.

> Determine server connection scheme immediately before connecting.
> -----------------------------------------------------------------
>
>                 Key: TS-2656
>                 URL: https://issues.apache.org/jira/browse/TS-2656
>             Project: Traffic Server
>          Issue Type: Improvement
>            Reporter: Ron Barber
>            Assignee: Leif Hedstrom
>             Fix For: 5.0.0
>
>         Attachments: TS-2656_2.patch
>
>
> ATS currently sets the server connection scheme (sm->t_state.scheme) after remapping has occurred based on the server URL.  Plugin's that desire to modify the connection scheme after remapping (such as in the TS_EVENT_HTTP_OS_DNS event) have no method to do so.  I propose adding the following getter/setter API functions:
> {code}
>     /**
>       Retrieves the server connection scheme for the specified
>       transaction @a txnp.  TSHttpTxnServerSchemeGet() places the length of
>       the string in the length argument. If the length is NULL then no
>       attempt is made to dereference it.
>       @note This function is useful if the server connection scheme needs to
>       retrieved post remapping.
>       @param txnp The transaction whose connection scheme to be retrieved
>       @param length length of the returned string.
>       @return The connection scheme for the server connection, as a string, or NULL if not set.
>    */
>   tsapi const char* TSHttpTxnServerSchemeGet(TSHttpTxn txnp, int *length);
> /** Set the connection scheme to the server (http or https) for the
>       specified transaction @a txnp to the string value.  If length is -1
>       then TSHttpTxnServerSchemeSet() assumes that value is null-terminated.
>       Otherwise, the length of the string value is taken to be length.
>       @note This function is useful if the server connection scheme needs to
>       change post remapping.
>       @param txnp The transaction whose connection scheme to be set
>       @param value value to set the scheme to.
>       @param length string stored in value.
>       @return @c TS_SUCCESS if scheme is recognized, else @c TS_ERROR
>   */
>   tsapi TSReturnCode TSHttpTxnServerSchemeSet(TSHttpTxn txnp,
>                                               const char* value,
>                                               int length);
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)