Recent Posts

Ingredients for well-designed OWIN middleware components - Part 7

3 minute read

In the sixth post of this series I talked about how you can use Swagger to create real useful documentation for your API. In this seventh and probably last post, I'd like to present some spices to make that OWIN middleware component extra special. Spice 1: Automate your entire bu...

July 29, 2015

Ingredients for well-designed OWIN middleware components - Part 6

1 minute read

In the fifth post of this series I talked about some PowerShell tips to align the versions of all NuGet packages. In this sixth post, I'd like to show you how you can make your HTTP API much easier to use. Ingredient 7: Swagger-enabled documentation If your component exposes an HTTP API based o...

July 27, 2015

Ingredients for well-designed OWIN middleware components - Part 5

1 minute read

In the fourth installment of this series I proposed a pattern for postponing expensive operations from inside your middleware component until the OWIN pipeline has been constructed. In this post, I'm going to talk about aligning package dependency versions. Why? Well, in my experience a well-desi...

July 22, 2015

Ingredients for well-designed OWIN middleware components - Part 4

1 minute read

In my last post I talked about unit testing your OWIN pipeline and briefly mentioned that you shouldn't do any heavy lifting from inside your UseWhatever method. Examples of that include starting background tasks or connecting to other services (through that HttpMessageHandler). If you're lucky, ...

July 22, 2015

Ingredients for well-designed OWIN middleware components - Part 3

2 minute read

In my last post, I talked about decoupling the construction of the OWIN pipeline from the definition of the OWIN middleware component. In this post, I’m going to talk about the next ingredient, the testing story.Ingredient 4: Testing your entire HTTP pipelineIn most projects that are building ASP...

July 21, 2015

Ingredients for well-designed OWIN middleware components - Part 2

1 minute read

In my last post, I talked about naming conventions and reducing the number of public dependencies, the first two ingredients of a recipe for well-designed OWIN middleware components. In this post, I'm going to talk about separating the OWIN pipeline construction from the middleware defi...

July 20, 2015