Last week I posted about creating a PushWoosh SDK using DalSoft.RestClient. Today I’m setting a SDK challenge! On a first come first served basis, and if you are able to help me promote the DalSoft.RestClient project, I will create your C# SDK for you. That’s right get your SDK for your REST API developed for free.
Earlier this year I posted about a pet project I’ve been working on DalSoft.RestClient which is a dynamic C# rest client.
I’ve now used it on a number of projects, and it works really for fluently accessing rest api’s (if I do say so myself). So I thought I’d do a quick post on a real life scenario. For a client of mine I’ve recently needed to integrate PushWoosh, so I thought I’d share some code to show how easy it would be to create a PushWoosh SDK with DalSoft.RestClient.
Whenever I’ve wanted to create a SDK for my WebApi’s I’m surprised by the amount of bolierplate code you end up with. HttpClient made things easier for us, but you still end up wrapping HttpClient and passing generics around.
I wanted something between Simple.Data and angular’s $http service, the main driver was to make my tests as readable as possible. I’ve messed around with .NET 4 dynamic objects before, so I set about creating a dynamic wrapper around HttpClient and a fluent API I could re-use. It’s passed the rule of 3 as I’ve used it for multiple clients. A side note is that it should be trivial to generate DalSoft.RestClient code examples in your WebApi docs.
I’m currently contracting over @OnTrees, @OnTrees we use raygun.io for error logging. If you don’t know what raygun is – raygun logs errors and produces excellent trending reports. It’s a great tool because lets be honest no matter how good your test coverage is exceptions happen.
We use it in production to help prioritise and pinpoint exceptions, raygun is brilliant for this as it shows you a count and when the exception last occurred, everything you need for prioritisation decisions. Raygun is clever enough to know when a exception has been resolved or if it has been reintroduced by a new build which is a neat feature.
I program with different languages and for a while now I have wanted to make the K&R variant coding style my default in Visual Studio.
So what do I mean by the K&R variant coding style, this coding style was named after co authors of the book The C Programming Language (thank you Wikipedia!) Kernighan and Ritchie. The variant I like is based on Java – rather than taking up a new line I like the opening brace on the first line of the statement block.
Continue reading »