You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by Alan Carroll <so...@verizonmedia.com.INVALID> on 2020/10/01 18:31:23 UTC

Re: [E] Proposal for new TS plugin API function: TSUrlPortGet

After discussions, this will be changed to TSUrlRawPortGet that returns 0
if the port is not explicitly present in the URL.

On Tue, Sep 29, 2020 at 9:28 AM Walt Karas <wk...@verizonmedia.com.invalid>
wrote:

> This gets the port string in the URL. If the port is not in the URL, it
> returns nullptr (and sets length to zeor). Note this is subtly different
> from TSUrlPortGet which always returns a valid port, the canonical port for
> the scheme if the port is not specified. Currently there is no way to
> detect this from a plugin.
>
> char const* TSUrlPortGet(TSMBuffer, TSMLoc, int* length);
>

Re: [E] Proposal for new TS plugin API function: TSUrlPortGet

Posted by Alan Carroll <so...@verizonmedia.com.INVALID>.
In the first case it should return 0.

In the second case it should return 61000.

On Tue, Oct 6, 2020 at 4:02 PM Walt Karas <wk...@verizonmedia.com> wrote:

> The current behavior that I'm seeing for TSUrlPortGet() is that for this
> request:
>
> printf "GET / HTTP/1.1\r\nHost: mYhOsT.teSt:61000\r\n\r\n" | nc localhost
> 61001
>
> it returns 80.  Should TSUrlRawPortGet() return -1 ?
>
> For this request:
>
> printf "GET http://mYhOsT.teSt:61000/ <http://myhost.test:61000/> HTTP/1.1\r\n\r\n"
> | nc localhost 61001
>
> TSUrlPortGet() returns 61000.  Should TSUrlRawPortGet() also return 6100 ?
>
> On Thu, Oct 1, 2020 at 1:31 PM Alan Carroll <
> solidwallofcode@verizonmedia.com> wrote:
>
>> After discussions, this will be changed to TSUrlRawPortGet that returns 0
>> if the port is not explicitly present in the URL.
>>
>> On Tue, Sep 29, 2020 at 9:28 AM Walt Karas
>> <wk...@verizonmedia.com.invalid> wrote:
>>
>>> This gets the port string in the URL. If the port is not in the URL, it
>>> returns nullptr (and sets length to zeor). Note this is subtly different
>>> from TSUrlPortGet which always returns a valid port, the canonical port
>>> for
>>> the scheme if the port is not specified. Currently there is no way to
>>> detect this from a plugin.
>>>
>>> char const* TSUrlPortGet(TSMBuffer, TSMLoc, int* length);
>>>
>>

Re: [E] Proposal for new TS plugin API function: TSUrlPortGet

Posted by Walt Karas <wk...@verizonmedia.com.INVALID>.
The current behavior that I'm seeing for TSUrlPortGet() is that for this
request:

printf "GET / HTTP/1.1\r\nHost: mYhOsT.teSt:61000\r\n\r\n" | nc localhost
61001

it returns 80.  Should TSUrlRawPortGet() return -1 ?

For this request:

printf "GET http://mYhOsT.teSt:61000/ <http://myhost.test:61000/>
HTTP/1.1\r\n\r\n"
| nc localhost 61001

TSUrlPortGet() returns 61000.  Should TSUrlRawPortGet() also return 6100 ?

On Thu, Oct 1, 2020 at 1:31 PM Alan Carroll <
solidwallofcode@verizonmedia.com> wrote:

> After discussions, this will be changed to TSUrlRawPortGet that returns 0
> if the port is not explicitly present in the URL.
>
> On Tue, Sep 29, 2020 at 9:28 AM Walt Karas <wk...@verizonmedia.com.invalid>
> wrote:
>
>> This gets the port string in the URL. If the port is not in the URL, it
>> returns nullptr (and sets length to zeor). Note this is subtly different
>> from TSUrlPortGet which always returns a valid port, the canonical port
>> for
>> the scheme if the port is not specified. Currently there is no way to
>> detect this from a plugin.
>>
>> char const* TSUrlPortGet(TSMBuffer, TSMLoc, int* length);
>>
>