lion - Lion is a fast HTTP router for building modern scalable modular REST APIs in Go

  •        49

Lion is a fast HTTP router for building modern scalable modular REST APIs written in Go (golang). Next versions of Lion will support the latest Go version and the previous one. For example, when Go 1.8 is out, Lion will support Go 1.7 and Go 1.8.

https://github.com/celrenheit/lion

Tags
Implementation
License
Platform

   




Related Projects

mux - A powerful URL router and dispatcher for golang.

  •    Go

Package gorilla/mux implements a request router and dispatcher for matching incoming requests to their respective handler. The name mux stands for "HTTP request multiplexer". Like the standard http.ServeMux, mux.Router matches incoming requests against a list of registered routes and calls a handler for the route that matches the URL or other conditions.

chi - Lightweight, idiomatic and composable router for building Go HTTP services

  •    Go

chi is a lightweight, idiomatic and composable router for building Go 1.7+ HTTP services. It's especially good at helping you write large REST API services that are kept maintainable as your project grows and changes. chi is built on the new context package introduced in Go 1.7 to handle signaling, cancelation and request-scoped values across a handler chain.

router - Ruby/Rack HTTP router

  •    Ruby

Rack compatible, lightweight and fast HTTP Router for Ruby and Hanami. Hanami::Router is designed to work as a standalone framework or within a context of a Hanami application.

SubOver - A Powerful Subdomain Takeover Tool

  •    Go

Subover is a Hostile Subdomain Takeover tool originally written in python but rewritten from scratch in Golang. Since it's redesign, it has been aimed with speed and efficiency in mind. Till date, SubOver detects 30+ services which is much more than any other tool out there. The tool uses Golang concurrency and hence is very fast. It can easily detect and report potential subdomain takeovers that exist. The list of potentially hijackable services is very comprehensive and it is what makes this tool so powerful. You need to have Golang installed on your machine. There are no additional requirements for this tool.

bone - Lightning Fast HTTP Multiplexer

  •    Go

These test are just for fun, all these router are great and really efficient. Bone do not pretend to be the fastest router for every job.


lars - :rotating_light: Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks

  •    Go

Have you ever been painted into a corner by a framework, ya me too! and I've noticed that allot of routers out there, IMHO, are adding so much functionality that they are turning into Web Frameworks, (which is fine, frameworks are important) however, not at the expense of flexibility and configurability. So with no further ado, introducing LARS an HTTP router that can be your launching pad in creating a framework for your needs. How? Context is an interface see example here, where you can add as little or much as you want or need and most importantly...under your control.Note: Since this router has only explicit matches, you can not register static routes and parameters for the same path segment. For example you can not register the patterns /user/new and /user/:user for the same request method at the same time. The routing of different request methods is independent from each other. I was initially against this, and this router allowed it in a previous version, however it nearly cost me in a big app where the dynamic param value say :type actually could have matched another static route and that's just too dangerous, so it is no longer allowed.

fabio - A fast, modern, zero-conf load balancing HTTP(S) router for deploying microservices managed by consul

  •    Go

fabio is a fast, modern, zero-conf load balancing HTTP(S) and TCP router for deploying applications managed by consul.Register your services in consul, provide a health check and fabio will start routing traffic to them. No configuration required. Deployment, upgrading and refactoring has never been easier. It integrates with Consul, Vault, Amazon ELB, Amazon API Gateway and more.

mux - mux is a lightweight HTTP request router

  •    Go

mux is a lightweight fast HTTP request router (also called multiplexer or just mux for short) for Go 1.7. The difference between the default mux of Go's net/http package and this mux is, it's supports variables and regex in the routing pattern and matches against the request method. It also scales better.

go-http-routing-benchmark - Go HTTP request router and web framework benchmark

  •    Go

This benchmark suite aims to compare the performance of HTTP request routers for Go by implementing the routing structure of some real world APIs. Some of the APIs are slightly adapted, since they can not be implemented 1:1 in some of the routers.Of course the tested routers can be used for any kind of HTTP request → handler function routing, not only (REST) APIs.

angular-starter - :tada: An Angular Starter kit featuring Angular (Router, Http, Forms, Services, Tests, E2E, Dev/Prod, HMR, Async/Lazy Routes, AoT via ngc), Karma, Protractor, Jasmine, Istanbul, TypeScript, TsLint, Codelyzer, Hot Module Replacement, @types, and Webpack by @TipeIO

  •    Javascript

An Angular starter kit featuring Angular 5, Ahead of Time Compile, Router, Forms, Http, Services, Tests, E2E), Karma, Protractor, Jasmine, Istanbul, TypeScript, @types, TsLint, Codelyzer, Hot Module Replacement, and Webpack by AngularClass.This seed repo serves as an Angular starter for anyone looking to get up and running with Angular and TypeScript fast. Using a Webpack 3 for building our files and assisting with boilerplate. We're also using Protractor for our end-to-end story and Karma for our unit tests.

httprouter - A high performance HTTP request router that scales well

  •    Go

HttpRouter is a lightweight high performance HTTP request router (also called multiplexer or just mux for short) for Go.In contrast to the default mux of Go's net/http package, this router supports variables in the routing pattern and matches against the request method. It also scales better.

subfinder - SubFinder is a subdomain discovery tool that discovers valid subdomains for websites

  •    Go

SubFinder is a subdomain discovery tool that discovers valid subdomains for websites by using passive online sources. It has a simple modular architecture and has been aimed as a successor to sublist3r project. SubFinder uses Passive Sources, Search Engines, Pastebins, Internet Archives, etc to find subdomains and then it uses a permutation module inspired by altdns to generate permutations and resolve them quickly using a powerful bruteforcing engine. It can also perform plain bruteforce if needed. The tool is highly customizable, and the code is built with a modular approach in mind making it easy to add functionalities and remove errors. We have designed SubFinder to comply with all passive sources licenses, and usage restrictions, as well as maintained a consistently passive model to make it useful to both penetration testers and bug bounty hunters alike.

micro-router - :station: A tiny and functional router for Zeit's Micro

  •    Javascript

A simple url pattern that you can define your path. In this path, you can set your parameters using a : notation. The req parameter from handler will return these parameters as an object. For more information about how you can define your path, see url-pattern that's the package that we're using to match paths.

httptreemux - High-speed, flexible tree-based HTTP router for Go.

  •    Go

High-speed, flexible, tree-based HTTP router for Go.This is inspired by Julien Schmidt's httprouter, in that it uses a patricia tree, but the implementation is rather different. Specifically, the routing rules are relaxed so that a single path segment may be a wildcard in one route and a static token in another. This gives a nice combination of high performance with a lot of convenience in designing the routing patterns. In benchmarks, httptreemux is close to, but slightly slower than, httprouter.

Slim - A micro framework for PHP

  •    PHP

Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs. Slim provides a fast and powerful router that maps route callbacks to specific HTTP request methods and URIs. It supports parameters and pattern matching. Slim supports any PSR-7 HTTP message implementation so you may inspect and manipulate HTTP message method, status, URI, headers, cookies, and body.

FastRoute - Fast request router for PHP

  •    PHP

This library provides a fast implementation of a regular expression based router. Blog post explaining how the implementation works and why it is fast. Requires PHP 5.4 or newer.

journey - liberal JSON-only HTTP request routing for node.

  •    Javascript

liberal JSON-only HTTP request routing for node. Journey's goal is to provide a fast and flexible RFC 2616 compliant request router for JSON consuming clients.

macaw - Simple PHP router

  •    PHP

Macaw is a simple, open source PHP router. It's super small (~150 LOC), fast, and has some great annotated source code. This class allows you to just throw it into your project and start using it immediately. If you have Composer, just include Macaw as a project dependency in your composer.json. If you don't just install it by downloading the .ZIP file and extracting it to your project directory.

go-web-framework-benchmark - :zap: Go web framework benchmark

  •    Go

This benchmark suite aims to compare the performance of Go web frameworks. It is inspired by Go HTTP Router Benchmark but this benchmark suite is different with that. Go HTTP Router Benchmark suit aims to compare the performance of routers but this Benchmark suit aims to compare whole HTTP request processing.





We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.