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.
While working at OnTrees I was introduced to brunch by @_grayham and have used it on a couple of my own projects (more recently exploregiving.com). Brunch is an alternative front-end build system to Grunt or Gulp.
You can achieve the same thing with any of these front-end build systems. I’ve just found the brunch conventions and workflow very simple to work with. What closed it for me was how easy it was to add brunch to our continuous deployment pipeline.
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.