aboutsummaryrefslogtreecommitdiff
path: root/tests/data/test1214
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2013-03-15 14:18:16 +0100
committerDaniel Stenberg <daniel@haxx.se>2013-03-15 14:18:16 +0100
commite4b733e3f1a771bd1017cdcfb355fcb9caffe646 (patch)
tree862fa85997d33e26f9e30b7949cbddfb6ad8f91a /tests/data/test1214
parentb50285d751855440252904c76995b6de193c2dc2 (diff)
HTTP proxy: insert slash in URL if missing
curl has been accepting URLs using slightly wrong syntax for a long time, such as when completely missing as slash "http://example.org" or missing a slash when a query part is given "http://example.org?q=foobar". curl would translate these into a legitimate HTTP request to servers, although as was shown in bug #1206 it was not adjusted properly in the cases where a HTTP proxy was used. Test 1213 and 1214 were added to the test suite to verify this fix. The test HTTP server was adjusted to allow us to specify test number in the host name only without using any slashes in a given URL. Bug: http://curl.haxx.se/bug/view.cgi?id=1206 Reported by: ScottJi
Diffstat (limited to 'tests/data/test1214')
-rw-r--r--tests/data/test121453
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/data/test1214 b/tests/data/test1214
new file mode 100644
index 000000000..3eeb3e3ad
--- /dev/null
+++ b/tests/data/test1214
@@ -0,0 +1,53 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+HTTP proxy
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Content-Type: text/html
+Funny-head: yesyes
+Content-Length: 22
+
+the content goes here
+</data>
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP with proxy and URL with ? and no slash separator
+ </name>
+# the thing here is that this sloppy form is accepted and we convert it
+# for normal server use, and we need to make sure it gets converted to
+# RFC style even for proxies
+ <command>
+-x %HOSTIP:%HTTPPORT http://we.want.that.site.com.1214?moo=foo
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET http://we.want.that.site.com.1214/?moo=foo HTTP/1.1
+Host: we.want.that.site.com.1214
+Accept: */*
+Proxy-Connection: Keep-Alive
+
+</protocol>
+</verify>
+</testcase>