WTF!

So I woke up on Saturday to this problem with my software. Having been out playing softball the night before and drinking until 1AM I wasn’t in any condition to troubleshoot and fix the problem. However, after a round of golf today and watching Kimi Raikkonen won the Hungarian GP, I was ready to fix the problem.

First, I thought it was something I’ve changed in the code last few days but that won’t be true as users with older version of the software also have the problem. Then I confirmed that it is a problem in my software by using the Mac version of ecto because it worked. Finally I relented and downloaded a copy of a competitor’s software (which shall remain nameless). That software worked so then it is my software.

I put a trace program on and discovered to my dismay that the .Net HTTP library sends out an extra HTTP header that it shouldn’t have (To the initiated, it is the Expect: 100-Continue). So I thought, “Ok, let’s just remove it from the HTTP Header in the code”. Silly me, setting HttpWebRequest.Expected = null does nothing!

But wait! Google came to rescue and I found this post about this stupid problem. Once I set the HttpWebRequest.ServicePoint.Expect100Continue = false, my software connects to TypePad once again!

Total time to fix a bug caused by Microsoft: ~2 hours.

Thanks alot, Mr. Gates. At least this is before my HDTV is delivered!

Technorati Tags: ,

Advertisements

One comment

  1. Andrew Carey

    Probably not the place for this Alex but if you are back in England for Monday 19th September I’m having my stag night in Altrincham. Ed will be there (he’s the best man) so i’ll be like old times!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s