Router <Context>
Hierarchy
- Router
Index
Methods
addDefaultHandler
- Registers default route handler. - Parameters- handler: (ctx) => Awaitable<void>
 - Returns void
addHandler
- Registers new route handler for given label. - Parameters- label: string | symbol
- handler: (ctx) => Awaitable<void>
 - Returns void
getHandler
- Returns route handler for given label. If no label is provided, the default request handler will be returned. - Parameters- optionallabel: string | symbol
 - Returns (ctx) => Awaitable<void>- Parameters- ctx: Context
 - Returns Awaitable<void>
 
 
use
- Registers a middleware that will be fired before the matching route handler. Multiple middlewares can be registered, they will be fired in the same order. - Parameters- middleware: (ctx) => Awaitable<void>
 - Returns void
staticcreate
- Creates new router instance. This instance can then serve as a - requestHandlerof your crawler.- import { Router, CheerioCrawler, CheerioCrawlingContext } from 'crawlee';
 const router = Router.create<CheerioCrawlingContext>();
 router.addHandler('label-a', async (ctx) => {
 ctx.log.info('...');
 });
 router.addDefaultHandler(async (ctx) => {
 ctx.log.info('...');
 });
 const crawler = new CheerioCrawler({
 requestHandler: router,
 });
 await crawler.run();- Parameters- optionalroutes: RouterRoutes<Context, UserData>
 - Returns RouterHandler<Context>
Simple router that works based on request labels. This instance can then serve as a
requestHandlerof your crawler.Alternatively we can use the default router instance from crawler object:
For convenience, we can also define the routes right when creating the router:
Middlewares are also supported via the
router.usemethod. There can be multiple middlewares for a single router, they will be executed sequentially in the same order as they were registered.