TL;DR
Nancy.Linker is a small library for creating URIs for named routes in
Nancy application that I released to
NuGet the other day.
Purpose of Nancy.Linker
The problem Nancy.Linker solves is to allow your application code to create URIs pointing to endpoints in your Nancy application without hardcoding the URI. Instead you refer to the endpoint by its route name and provide values for whatever route parameters the route expects. The library then returns you a suitable System.Uri.
Example
Let's consider a Nancy application with this module in it:
The module does nothing interesting, but bear with me. The thing to notice is that FooModule has all sorts of routes - a constant one, one with a simple parameter, one with a constraint on a parameter, one with a regex segment with a captured parameter, one with an optional parameter and one with a default value for an optional parameter. To read up on
Nancy routing check out the docs.
Now let's assume another module needs to put links to endpoints in FooModule in its own response. It can do so by taking a dependency on IResoureLinker from Nancy.Linker and asking it to create the URIs:
which will produce a response containing a bunch of links back to the FooModule. For instance the call
results in this string (assuming your application runs on http://www.nancyisawesome.com):
Getting Started
Just install Nancy.Linker from NuGet:
Nancy.Linker will take care of registering the IResourceLinker with your container, so modules can just go ahead a take a dependency on IResourceLinker.
"This post was aggregated from https://www.horsdal-consult.dk/2014/07/nancylinker.html and all comments should be submitted on the original post"