2011-10-12 15:51:49 -04:00
|
|
|
USING: accessors http.client http.client.private http
|
|
|
|
io.streams.string kernel namespaces sequences tools.test urls ;
|
2009-08-13 20:21:44 -04:00
|
|
|
IN: http.client.tests
|
2008-10-01 06:43:20 -04:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ "localhost" f } [ "localhost" parse-host ] unit-test
|
|
|
|
{ "localhost" 8888 } [ "localhost:8888" parse-host ] unit-test
|
2008-01-31 02:15:28 -05:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ "foo.txt" } [ "http://www.paulgraham.com/foo.txt" download-name ] unit-test
|
|
|
|
{ "foo.txt" } [ "http://www.arc.com/foo.txt?xxx" download-name ] unit-test
|
|
|
|
{ "foo.txt" } [ "http://www.arc.com/foo.txt/" download-name ] unit-test
|
|
|
|
{ "www.arc.com" } [ "http://www.arc.com////" download-name ] unit-test
|
2008-02-25 15:53:18 -05:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{
|
2008-09-05 21:39:45 -04:00
|
|
|
T{ request
|
|
|
|
{ url T{ url { protocol "http" } { host "www.apple.com" } { port 80 } { path "/index.html" } } }
|
|
|
|
{ method "GET" }
|
|
|
|
{ version "1.1" }
|
|
|
|
{ cookies V{ } }
|
|
|
|
{ header H{ { "connection" "close" } { "user-agent" "Factor http.client" } } }
|
2009-07-09 20:02:15 -04:00
|
|
|
{ redirects 10 }
|
2008-02-25 15:53:18 -05:00
|
|
|
}
|
2015-07-03 12:39:59 -04:00
|
|
|
} [
|
2008-06-02 16:00:03 -04:00
|
|
|
"http://www.apple.com/index.html"
|
|
|
|
<get-request>
|
2008-02-25 15:53:18 -05:00
|
|
|
] unit-test
|
2008-05-14 00:36:55 -04:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{
|
2008-09-05 21:39:45 -04:00
|
|
|
T{ request
|
|
|
|
{ url T{ url { protocol "https" } { host "www.amazon.com" } { port 443 } { path "/index.html" } } }
|
|
|
|
{ method "GET" }
|
|
|
|
{ version "1.1" }
|
|
|
|
{ cookies V{ } }
|
|
|
|
{ header H{ { "connection" "close" } { "user-agent" "Factor http.client" } } }
|
2009-07-09 20:02:15 -04:00
|
|
|
{ redirects 10 }
|
2008-05-14 00:36:55 -04:00
|
|
|
}
|
2015-07-03 12:39:59 -04:00
|
|
|
} [
|
2008-06-02 16:00:03 -04:00
|
|
|
"https://www.amazon.com/index.html"
|
|
|
|
<get-request>
|
2008-05-14 00:36:55 -04:00
|
|
|
] unit-test
|
2011-05-11 17:45:26 -04:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ "HEAD" } [ "http://google.com" <head-request> method>> ] unit-test
|
|
|
|
{ "DELETE" } [ "http://arc.com" <delete-request> method>> ] unit-test
|
|
|
|
{ "TRACE" } [ "http://concatenative.org" <trace-request> method>> ] unit-test
|
|
|
|
{ "OPTIONS" } [ "http://factorcode.org" <options-request> method>> ] unit-test
|
2011-05-11 17:45:26 -04:00
|
|
|
|
2015-07-03 12:39:59 -04:00
|
|
|
{ t } [
|
2011-10-12 15:51:49 -04:00
|
|
|
{
|
|
|
|
"HTTP/1.1 200 Document follows"
|
|
|
|
"connection: close"
|
|
|
|
"content-type: text/html; charset=UTF-8"
|
|
|
|
"date: Wed, 12 Oct 2011 18:57:49 GMT"
|
|
|
|
"server: Factor http.server"
|
|
|
|
} [ "\n" join ] [ "\r\n" join ] bi
|
2012-07-21 13:22:44 -04:00
|
|
|
[ [ read-response ] with-string-reader ] same?
|
2011-10-12 15:51:49 -04:00
|
|
|
] unit-test
|