I have been using the HTTP library now for some time, and have noticed that is always adds the "Expect: 100-continue" header when it is sending a request.
It has not been an issue as it has been ignored by the site I am using, however they are now responding to the header with an error, so I am wondering how I stop the Header from being added in the first place.
I don't really do Web stuff but I poked around in the .NET HttpWebRequest class and it is being added deep within the bowels of that class in a method called SerializeHeaders() that seems to build the headers for the request.
The answer on the desktop would be to get the .NET WebRequest object from your Basic4ppc WebRequest object, get it's ServicePoint and set its Expect100Continue property to false.
This is probably possible with the Door library. However this won't work on the device as ServicePoint doesn't expose this property in the Compact Framework so I guess the only thing is to roll your own Http requests using TCP/IP and the Network library.
peek a bit in the cs file of the http dll....
I kind of remember, the last time I done that, that in the constructor, some header were pre-defined...but I may be wrong here..
If so, create a new project in sharp develop, and create you're own custom http dll...but be sure to ask EREL for perrmission...lol
I've been accessing the twitter api and after a change by twitter sometime in December started getting expectation failed errors caused by "Expect: 100-continue" in the http headers.
I've got a work around that solves the problem at least in my case
as follows
Old Code
Sub Button2_Click
request.New3(" http://twitter.com/statuses/update.xml","username","password")
request.Method = "POST"
Request.ContentType = "application/x-www-form-urlencoded"
stream.New1(Request.GetStream,True)
tweet = TextBox2.Text
name = "status="&tweet
stream.WriteBytes(stream.StringToBytes(name))
response.New1
request.GetAsyncResponse
End Sub