aboutsummaryrefslogtreecommitdiff
path: root/tests/data/test2045
diff options
context:
space:
mode:
authorNathaniel Waisbrot <code@waisbrot.net>2015-08-22 21:49:26 -0400
committerJay Satiro <raysatiro@yahoo.com>2015-08-22 21:57:14 -0400
commit9756d1da7637d1913b7ca2b589e4635f32ed3e00 (patch)
tree4ab19870277d1b8307233356ec59415346bd843b /tests/data/test2045
parent22cb63119889f57019449c9412f69a1e07ada696 (diff)
CURLOPT_DEFAULT_PROTOCOL: added
- Add new option CURLOPT_DEFAULT_PROTOCOL to allow specifying a default protocol for schemeless URLs. - Add new tool option --proto-default to expose CURLOPT_DEFAULT_PROTOCOL. In the case of schemeless URLs libcurl will behave in this way: When the option is used libcurl will use the supplied default. When the option is not used, libcurl will follow its usual plan of guessing from the hostname and falling back to 'http'.
Diffstat (limited to 'tests/data/test2045')
-rw-r--r--tests/data/test204554
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/data/test2045 b/tests/data/test2045
new file mode 100644
index 000000000..3190f803b
--- /dev/null
+++ b/tests/data/test2045
@@ -0,0 +1,54 @@
+<testcase>
+<info>
+<keywords>
+FTP
+--proto-default
+</keywords>
+</info>
+
+
+#
+# Server-side
+<reply>
+<!--
+The purpose of this test is to make sure the --proto-default option works
+properly. We specify a default protocol of FTP and if the option works properly
+curl will use the FTP protocol. If the option is broken however curl will use
+the HTTP protocol.
+In the broken scenario curl would use HTTP to talk to our FTP server. We handle
+that by replying with something that both protocols can understand. Our FTP
+server allows a custom welcome message, so we use that feature to make an HTTP
+reply that contains an FTP reply (think polyglot). In the case of FTP we expect
+curl will return CURLE_FTP_WEIRD_SERVER_REPLY so we test for that return code.
+-->
+<servercmd>
+REPLY welcome HTTP/1.1 200 OK\r\nContent-Length: 21\r\n\r\n500 Weird FTP Reply
+</servercmd>
+</reply>
+
+#
+# Client-side
+<client>
+<features>
+none
+</features>
+<server>
+ftp
+</server>
+<name>
+Set the default protocol to ftp for a schemeless URL
+</name>
+<command>
+-H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp %HOSTIP:%FTPPORT
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+# CURLE_FTP_WEIRD_SERVER_REPLY is error code 8
+<errorcode>
+8
+</errorcode>
+</verify>
+</testcase>