Restival Part 4: Deployment and Fun with Case Sensitivity
Posted by Dylan Beattie on 12 June 2015 • permalinkBefore we dive into the next phase of API development, I wanted to make it a little easier to install and run the Restival app on your own machine, so I've added a Powershell Deploy.ps1 script to the project which will:
- Create a new local IIS website called Restival, bound to http://restival.local/
- Create applications for each of our API implementations
- Configure the whole thing to run under the ASP.NET v4.0 application pool.
One interesting quirk I discovered whilst doing this is that OpenRasta appears to be case-sensitive when it comes to request URLs. I'd initially created the applications like this:
- http://restival.local/Api.Nancy/
- http://restival.local/Api.ServiceStack/
- http://restival.local/Api.WebApi/
- http://restival.local/Api.OpenRasta/
The test project uses lowercase URLs - so http://restival.local/api.nancy/ - and for some strange reason, the OpenRasta implementation just doesn't work if the IIS application name differs in case from the URL in the unit test. I'll dig into this a little further but for now, I've just modified the deploy script to do a .ToLower() on the application name and everything's working. Code for this instalment is in https://github.com/dylanbeattie/Restival/tree/v0.0.4