202 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			202 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| <testcase>
 | |
| <info>
 | |
| <keywords>
 | |
| HTTP
 | |
| HTTP POST
 | |
| HTTP MIME POST
 | |
| </keywords>
 | |
| </info>
 | |
| 
 | |
| #
 | |
| # Server-side
 | |
| <reply>
 | |
| <data>
 | |
| HTTP/1.1 200 OK
 | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT
 | |
| Server: test-server/fake swsclose
 | |
| Connection: close
 | |
| Content-Type: text/html
 | |
| 
 | |
| hello
 | |
| </data>
 | |
| <datacheck>
 | |
| HTTP/1.1 200 OK
 | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT
 | |
| Server: test-server/fake swsclose
 | |
| Connection: close
 | |
| Content-Type: text/html
 | |
| 
 | |
| hello
 | |
| HTTP/1.1 200 OK
 | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT
 | |
| Server: test-server/fake swsclose
 | |
| Connection: close
 | |
| Content-Type: text/html
 | |
| 
 | |
| hello
 | |
| </datacheck>
 | |
| </reply>
 | |
| 
 | |
| # Client-side
 | |
| <client>
 | |
| <server>
 | |
| http
 | |
| </server>
 | |
| # tool is what to use instead of 'curl'
 | |
| <tool>
 | |
| lib%TESTNUMBER
 | |
| </tool>
 | |
| 
 | |
|  <name>
 | |
| HTTP multi-part chunked mimepost using read callback for the file part
 | |
|  </name>
 | |
|  <command>
 | |
| http://%HOSTIP:%HTTPPORT/%TESTNUMBER
 | |
| </command>
 | |
| </client>
 | |
| 
 | |
| #
 | |
| # Verify data after the test has been "shot"
 | |
| <verify>
 | |
| <strippart>
 | |
| s/^--------------------------[a-z0-9]*/------------------------------/
 | |
| s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/
 | |
| </strippart>
 | |
| # Note that the stripping above removes 12 bytes from every occurrence of the
 | |
| # boundary string and since 5 of them are in the body contents, we see
 | |
| # (5*12) == 60 bytes less
 | |
| <protocol>
 | |
| POST /%TESTNUMBER HTTP/1.1
 | |
| Host: %HOSTIP:%HTTPPORT
 | |
| Accept: */*
 | |
| Transfer-Encoding: chunked
 | |
| Content-Type: multipart/form-data; boundary=----------------------------
 | |
| Expect: 100-continue
 | |
| 
 | |
| 76
 | |
| ------------------------------
 | |
| Content-Disposition: form-data; name="sendfile"; filename="postit2.c"
 | |
| 
 | |
| d
 | |
| 1
 | |
| u
 | |
| 1
 | |
| m
 | |
| 1
 | |
| m
 | |
| 1
 | |
| y
 | |
| 1
 | |
| 
 | |
| 
 | |
| 65
 | |
| 
 | |
| ------------------------------
 | |
| Content-Disposition: form-data; name="callbackdata"
 | |
| 
 | |
| 
 | |
| 1
 | |
| d
 | |
| 1
 | |
| u
 | |
| 1
 | |
| m
 | |
| 1
 | |
| m
 | |
| 1
 | |
| y
 | |
| 1
 | |
| 
 | |
| 
 | |
| %if hyper
 | |
| 19A
 | |
| %else
 | |
| 19a
 | |
| %endif
 | |
| 
 | |
| ------------------------------
 | |
| Content-Disposition: form-data; name="filename"
 | |
| 
 | |
| postit2.c
 | |
| ------------------------------
 | |
| Content-Disposition: form-data; name="submit"
 | |
| 
 | |
| send
 | |
| ------------------------------
 | |
| Content-Disposition: form-data; name="somename"; filename="somefile.txt"
 | |
| Content-Type: text/plain
 | |
| 
 | |
| blah blah
 | |
| --------------------------------
 | |
| 
 | |
| 0
 | |
| 
 | |
| POST /%TESTNUMBER HTTP/1.1
 | |
| Host: %HOSTIP:%HTTPPORT
 | |
| Accept: */*
 | |
| Transfer-Encoding: chunked
 | |
| Content-Type: multipart/form-data; boundary=----------------------------
 | |
| Expect: 100-continue
 | |
| 
 | |
| 84
 | |
| ------------------------------
 | |
| Content-Disposition: form-data; name="sendfile alternative"; filename="file name 2"
 | |
| 
 | |
| d
 | |
| 1
 | |
| u
 | |
| 1
 | |
| m
 | |
| 1
 | |
| m
 | |
| 1
 | |
| y
 | |
| 1
 | |
| 
 | |
| 
 | |
| 65
 | |
| 
 | |
| ------------------------------
 | |
| Content-Disposition: form-data; name="callbackdata"
 | |
| 
 | |
| 
 | |
| 1
 | |
| d
 | |
| 1
 | |
| u
 | |
| 1
 | |
| m
 | |
| 1
 | |
| m
 | |
| 1
 | |
| y
 | |
| 1
 | |
| 
 | |
| 
 | |
| %if hyper
 | |
| 19A
 | |
| %else
 | |
| 19a
 | |
| %endif
 | |
| 
 | |
| ------------------------------
 | |
| Content-Disposition: form-data; name="filename"
 | |
| 
 | |
| postit2.c
 | |
| ------------------------------
 | |
| Content-Disposition: form-data; name="submit"
 | |
| 
 | |
| send
 | |
| ------------------------------
 | |
| Content-Disposition: form-data; name="somename"; filename="somefile.txt"
 | |
| Content-Type: text/plain
 | |
| 
 | |
| blah blah
 | |
| --------------------------------
 | |
| 
 | |
| 0
 | |
| 
 | |
| </protocol>
 | |
| </verify>
 | |
| </testcase>
 |