Last week was RESTfest week. RESTfest is an unusual little conference that happens in Greenville, South Carolina every September. This is the fifth year it has run and this is my fourth time attending, and I learn a ton every time. What makes RESTFest unique is its “everyone speaks” policy. Although there is a keynote, a whole […]
This past weekend I had the opportunity to attend and speak at Vermont Code Camp. Apart from being hosted at the beautiful University of Vermont, it was an event packed with excellent speakers. I presented my talk on “Crafting Evolvable API Responses”, which itself managed to evolve considerably since doing it at New York Code camp […]
In the previous post in this series on Conditional Requests I introduced the topic of validators, their purpose and how they can be constructed. A large chunk of the work that needs to be done to support conditional requests is done by the origin server. This blog post is about that role. The first job of the […]
This weekend I had the opportunity to speak for the first time at the New York city Code Camp. It was an excellent event with a huge turnout and an equivalently huge number of sessions. With fourteen different sessions happening simultaneously, attendees were spoiled for choice and I am quite sure there were plenty of people […]
In the recent update of the HTTP specification, the details of conditional requests have been split out and given their whole own specification. Most developers I talk to are familiar with the idea of 304 Not Modified response code, but whenever we start to dig deeper everyone, myself included, are missing pieces of the puzzle. This article is one […]
Over the past few months I have written a number of posts relating to HTTP that have attempted to clarify some of the lesser understood areas of the HTTP specification and provide some practical guidance. Posts that are complete Posts that are on my backlog Feedback If there are posts in the backlog that you would like […]
This afternoon Scott Hanselman posted a fairly innocuous question on twitter. However, the question involved versioning of a RESTful API, which is a subject that is sure to bring out lots of opinions. This post is less about the versioning question and more about the commonly held belief that caches do things differently with URLs that have […]
Uber recently announced the availability of a public API. I decided to take it for a spin and provide some commentary. The quick version is that it is a fairly standard HTTP API and that is both a good thing and a bad thing. You can find the official documentation for the Uber API on their […]
ASP.NET Web API 2.1 introduced some significant improvements to the mechanisms that support global error handling. Before this release there were a number of different types of errors that would be handled directly by the runtime and there was no easy way to intercept these errors and add your own custom behavior. The standard guidance suggests […]