hardenedelements / routable Goto Github PK
View Code? Open in Web Editor NEWPlatform agnostic request routing library for .NET
Home Page: https://www.nuget.org/packages/Routable/
License: MIT License
Platform agnostic request routing library for .NET
Home Page: https://www.nuget.org/packages/Routable/
License: MIT License
This project could definitely use some serious love in the unit test department.
If no model is provided, RenderContext crashes.
The new Sprache based parser drops .
from the expression, making nested properties impossible.
Allow views to incorporate the content of other views. This may be accomplished by nesting the AST of the included view within the AST of the caller. Protip: the nested content will not expire properly when changes are detected unless written properly.
Couple suggestions..
Newtonsoft.Json.Linq
with .NET Core System.Text.Json
.Add support for pattern matching to determine if a value has a certain shape.
Add an extension method with concise syntax like Add(route => route.Post().Pattern("/test/{id:guid}")
Should support or handle uri
with omitted forward slash
It seems the line endings throughout the project have become inconsistent. Use dos2unix and clean up the entire repository while it's young. This will dirty up git-blame.
Create a template package for use with dotnet new
to help users get started with Routable.
A contribution guide will help others provide pull requests for the improvement of the project.
If view configuration were enumerable, a library author could offer a routing collection, extension method for adding the functionality of said library and leverage embedded views from the library assembly. All without interfering with the calling web application.
Add @foreach support to the template.
Acceptance Criteria Example
<ul>
@ForEach.Users
<li>@Model.Name</li>
@EndForEach
</ul>
User should be able to obtain the root model regardless of nesting level (eg. within a @ForEach
) using the @Root
expression.
Using regular expressions for model value replacement is a quick and dirty method of providing a template engine. However, using Sprache we can have more advanced view template operations and we can add more easily.
If multiple routes match a given request, they should be enumerated individually and each one should be processed sequentially until one of the routes successfully processes the request in full. For example, if we have four routes, and the first two are bypassable routes that return false
, the third will be processed - and if that route is successfully processed the fourth will not be.
If one or more route add parameters with the same key, the value of the last parameter should be retained as the parameter of record.
The exception thrown by RoutableRequest.cs needs to be handled.
Currently the Routable.Views.Simple
library resolves views using the file system. This should use a view resolution delegate with handy shortcuts for file system loading; and perhaps embedded resource streams.
This project is in desperate need of good documentation. Start by documenting this issue ๐
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.