0.0.45 • Published 1 month ago

@hattip/router v0.0.45

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

@hattip/router

Express-style imperative router for Hattip.

Usage

import { createRouter } from "@hattip/router";
import { cookie } from "@hattip/cookie";

const app = createRouter();

// Add middleware
app.use(cookie());

// GET /
app.get("/", () => new Response("Hello, world!"));

// POST /echo
app.post("/echo", async (ctx) => new Response(await ctx.request.text()));

// DELETE /book/:title where :title is a route parameter
app.delete("/book/:title", async (ctx) => {
  // Parameters are available in ctx.params
  return new Response(`Deleted book: ${ctx.params.title}`);
});

export default app.buildHandler();

API

  • createRouter(): Creates a new router.
  • router.<method>(handler): Adds a handler for the given method and all paths.
  • router.<method>(path, handler): Adds a handler for the given method and path.

    path can be a string or a regular expression. If it's a string, parameters can be specified using : followed by the parameter name like /book/:title. * can be used to match any number of characters.

    <method> is the HTTP method in lowercase (e.g. get, post, delete).

    handler is a request handler.

  • router.use(path, handler): Adds a handler for all methods and the given path.

  • router.use(handler): Adds a handler for all methods and all paths.
  • router.handlers: Returns an array of handlers.
  • router.buildHandler(): Returns a handler that can be passed to an adapter.

@hattip/router extends the RequestContext object with a params property which contains a map of parameters extracted from a dynamic route.

0.0.45

1 month ago

0.0.44

2 months ago

0.0.43

3 months ago

0.0.42

3 months ago

0.0.41

4 months ago

0.0.40

4 months ago

0.0.39

4 months ago

0.0.38

4 months ago

0.0.37

4 months ago

0.0.36

4 months ago

0.0.35-canary.2

10 months ago

0.0.35-canary.7

9 months ago

0.0.35-canary

10 months ago

0.0.35

8 months ago

0.0.34

12 months ago

0.0.33

1 year ago

0.0.30

1 year ago

0.0.31

1 year ago

0.0.32

1 year ago

0.0.28

1 year ago

0.0.29

1 year ago

0.0.21

2 years ago

0.0.22

2 years ago

0.0.23

1 year ago

0.0.24

1 year ago

0.0.25

1 year ago

0.0.26

1 year ago

0.0.27

1 year ago

0.0.20

2 years ago

0.0.18

2 years ago

0.0.19

2 years ago

0.0.10

2 years ago

0.0.11

2 years ago

0.0.12

2 years ago

0.0.13

2 years ago

0.0.14

2 years ago

0.0.15

2 years ago

0.0.9

2 years ago

0.0.16

2 years ago

0.0.8

2 years ago

0.0.17

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago