Skip to content

ire4ever1190/mike

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

Docs

Simple framework that I use for all my personal projects. Mostly used for writing small API's and website

Quick overview

Routing is done via path $\rightarrow$ verb syntax like so

"/home" -> get:
  ctx.send "hello"
    
"/mike" -> post:
  ctx.send("Teapot", Http427)

You can specify before/after handlers by prefixing the verb

"/^path" -> beforeGet:
  # Log all requests that happen
  echo ctx.pathParams["path"]

Has seen in the examples the ctx variable is used which is an implicit variable that allows you to access everything about the request and specify what the response will be.

Context hooks

A nice feature of Mike that sets it apart from other Nim frameworks is support for context hooks that allow you to add parameters to your routes that get information for you and handle if its missing

"/some/route" -> post(x: Header[string], data: Json[SomeObject], page: Query[int]) ->
    # Do stuff with parameters here

You can make your own context hooks to do anything from load some json to getting a database connection from a pool

About

The new and improved mikero web framework

Topics

Resources

Stars

Watchers

Forks

Languages