ZOMGBBQ - you know what it *might* be - if a client *sends* 'Connection: keep-alive' (which is redundant in http 1.1 but not invalid) the most insane thing comes back:
ubuntu@saio:~$ curl -H 'x-auth-token: AUTH_tkbda4caa25b4f4f60a50ec26207487741' http://saio:8080/v1/AUTH_test/ec-test/deleteme -H 'connection: keep-alive' -v * Trying 127.0.0.1... * Connected to saio (127.0.0.1) port 8080 (#0) > GET /v1/AUTH_test/ec-test/deleteme HTTP/1.1 > Host: saio:8080 > User-Agent: curl/7.47.0 > Accept: */* > x-auth-token: AUTH_tkbda4caa25b4f4f60a50ec26207487741 > connection: keep-alive > < HTTP/1.1 200 OK < Content-Length: 3145728 < X-Object-Meta-Mtime: 1491470291.015581 < Accept-Ranges: bytes < Last-Modified: Fri, 07 Apr 2017 08:01:02 GMT < Connection: close <-*****close**** < Etag: d1dd210d6b1312cb342b56d02bd5e651 < X-Timestamp: 1491552061.98489 < Date: Fri, 07 Apr 2017 08:04:21 GMT < Content-Type: application/octet-stream < X-Trans-Id: tx11ec5191d0304934b174d-0058e74805 < X-Openstack-Request-Id: tx11ec5191d0304934b174d-0058e74805 < Connection: keep-alive <-*****keep-alive**** < * Closing connection 0
That is interesting and could very well invalid, and almost definitely could cause problem for otherwise reasonably behaved clients...
without the raw dump curl seems to sort out the correct answer:
ubuntu@saio:~$ curl -H 'x-auth-token: AUTH_tkbda4caa25b4f4f60a50ec26207487741' http://saio:8080/v1/AUTH_test/ec-test/deleteme -H 'connection: keep-alive' -I HTTP/1.1 200 OK Content-Length: 3145728 Content-Type: application/octet-stream Accept-Ranges: bytes Last-Modified: Fri, 07 Apr 2017 08:01:02 GMT Etag: d1dd210d6b1312cb342b56d02bd5e651 X-Timestamp: 1491552061.98489 X-Object-Meta-Mtime: 1491470291.015581 X-Trans-Id: tx3c00e2a73c444b4798050-0058e74869 X-Openstack-Request-Id: tx3c00e2a73c444b4798050-0058e74869 Date: Fri, 07 Apr 2017 08:06:01 GMT Connection: keep-alive
swiftclient has a slightly different opinion
DEBUG:swiftclient:RESP HEADERS: {u'Content-Length': u'3145728', u'Content-Type': u'application/octet-stream', u'Accept-Ranges': u'bytes', u'Last-Modified': u'Fri, 07 Apr 2017 08:01:02 GMT', u'Connection': u'close, keep-alive', u'Etag': u'd1dd210d6b1312cb342b56d02bd5e651', u'X-Timestamp': u'1491552061.98489', u'X-Trans-Id': u'tx9bbeda8da5914148b6228-0058e7487e', u'Date': u'Fri, 07 Apr 2017 08:06:22 GMT', u'X-Object-Meta-Mtime': u'1491470291.015581', u'X-Openstack-Request-Id': u'tx9bbeda8da5914148b6228-0058e7487e'}
fascinating
ZOMGBBQ - you know what it *might* be - if a client *sends* 'Connection: keep-alive' (which is redundant in http 1.1 but not invalid) the most insane thing comes back:
ubuntu@saio:~$ curl -H 'x-auth-token: AUTH_tkbda4caa2 5b4f4f60a50ec26 207487741' http:// saio:8080/ v1/AUTH_ test/ec- test/deleteme -H 'connection: keep-alive' -v test/ec- test/deleteme HTTP/1.1 5b4f4f60a50ec26 207487741 Meta-Mtime: 1491470291.015581 b342b56d02bd5e6 51 octet-stream 934b174d- 0058e74805 Request- Id: tx11ec5191d0304 934b174d- 0058e74805 keep-alive* ***
* Trying 127.0.0.1...
* Connected to saio (127.0.0.1) port 8080 (#0)
> GET /v1/AUTH_
> Host: saio:8080
> User-Agent: curl/7.47.0
> Accept: */*
> x-auth-token: AUTH_tkbda4caa2
> connection: keep-alive
>
< HTTP/1.1 200 OK
< Content-Length: 3145728
< X-Object-
< Accept-Ranges: bytes
< Last-Modified: Fri, 07 Apr 2017 08:01:02 GMT
< Connection: close <-*****close****
< Etag: d1dd210d6b1312c
< X-Timestamp: 1491552061.98489
< Date: Fri, 07 Apr 2017 08:04:21 GMT
< Content-Type: application/
< X-Trans-Id: tx11ec5191d0304
< X-Openstack-
< Connection: keep-alive <-*****
<
* Closing connection 0
That is interesting and could very well invalid, and almost definitely could cause problem for otherwise reasonably behaved clients...
without the raw dump curl seems to sort out the correct answer:
ubuntu@saio:~$ curl -H 'x-auth-token: AUTH_tkbda4caa2 5b4f4f60a50ec26 207487741' http:// saio:8080/ v1/AUTH_ test/ec- test/deleteme -H 'connection: keep-alive' -I octet-stream b342b56d02bd5e6 51 Meta-Mtime: 1491470291.015581 b4798050- 0058e74869 Request- Id: tx3c00e2a73c444 b4798050- 0058e74869
HTTP/1.1 200 OK
Content-Length: 3145728
Content-Type: application/
Accept-Ranges: bytes
Last-Modified: Fri, 07 Apr 2017 08:01:02 GMT
Etag: d1dd210d6b1312c
X-Timestamp: 1491552061.98489
X-Object-
X-Trans-Id: tx3c00e2a73c444
X-Openstack-
Date: Fri, 07 Apr 2017 08:06:01 GMT
Connection: keep-alive
swiftclient has a slightly different opinion
DEBUG:swiftclie nt:RESP HEADERS: {u'Content-Length': u'3145728', u'Content-Type': u'application/ octet-stream' , u'Accept-Ranges': u'bytes', u'Last-Modified': u'Fri, 07 Apr 2017 08:01:02 GMT', u'Connection': u'close, keep-alive', u'Etag': u'd1dd210d6b131 2cb342b56d02bd5 e651', u'X-Timestamp': u'1491552061. 98489', u'X-Trans-Id': u'tx9bbeda8da59 14148b6228- 0058e7487e' , u'Date': u'Fri, 07 Apr 2017 08:06:22 GMT', u'X-Object- Meta-Mtime' : u'1491470291. 015581' , u'X-Openstack- Request- Id': u'tx9bbeda8da59 14148b6228- 0058e7487e' }
fascinating