Re: fields vs word converter, unexpected "0" result

2017-08-01 Thread Cyril Bonté

Hi,

Le 01/08/2017 à 17:37, Daniel Schneller a écrit :

Any idea on the difference between “word” and “field”, though?


"field" and "word" are similar, except that "word" will ignore 
consecutive delimiters without any word.


Example with "x//y/z" :
  word(1,/)  => returns "x"
  word(2,/)  => returns "y"
  word(3,/)  => returns "z"
whereas :
  field(1,/) => returns "x"
  field(2,/) => returns ""
  field(3,/) => returns "y"


--
Cyril Bonté



Re: fields vs word converter, unexpected "0" result

2017-08-01 Thread Daniel Schneller
On 1. Aug. 2017, at 17:32, Holger Just  wrote:

> GET / HTTP/1.1
> Host: 127.0.0.1:8881
> User-Agent: curl/7.43.0
> Accept: */*
> 
> The HTTP 1.1 specification requires that a Host header is always sent
> along with the request. Curl specifically always sends the host from the
> given URL, unless it was explicitly overwritten.
> 
> Thus, in your case the fetch extracts the second part from the given IP
> address, which is 0 in your case.
> 

Ha! Thanks. I actually had used curl -v before, but selective vision must have 
kicked in with all the 127.0.0.1’s :)

Any idea on the difference between “word” and “field”, though?

Daniel




Re: fields vs word converter, unexpected "0" result

2017-08-01 Thread Holger Just
Hi Daniel,

Daniel Schneller wrote:
> root@haproxy-1:~# curl -s http://127.0.0.1:8881
> Aug  1 15:12:55 haproxy-1 haproxy[3049]: 127.0.0.1:45875 
> [01/Aug/2017:15:12:55.198] "0"
> 
> While the first three are expected, the last one confuses me. Why would 
> leaving the header out result in “0” being logged?

Because the header is not left out in your request. Instead, the raw
request is sent as follows

GET / HTTP/1.1
Host: 127.0.0.1:8881
User-Agent: curl/7.43.0
Accept: */*

The HTTP 1.1 specification requires that a Host header is always sent
along with the request. Curl specifically always sends the host from the
given URL, unless it was explicitly overwritten.

Thus, in your case the fetch extracts the second part from the given IP
address, which is 0 in your case.

Regards,
Holger