code: func (app *Application) handler(ctx *Context) {
  	for prefix, staticPathSlice := range app.staticRouter {
  		if strings.HasPrefix(ctx.Request.URL.Path, prefix) {
  			for _, staticPath := range staticPathSlice {
  				filePath := path.Join(staticPath, ctx.Request.URL.Path[len(prefix):])
  				fileInfo, err := os.Stat(filePath)
  				if err == nil && !fileInfo.IsDir() {
  					staticHandler(ctx, filePath)
  					return
  				}
  			}
  		}
  	}
  
  	handler, params, err := app.router.FindRoute(ctx.Request.Method, ctx.Request.URL.Path)
  	if err != nil {
  		app.handleError(ctx, 404)
  	} else {
  		ctx.Params = params
  		handler(ctx)
  	}
  	ctx.IsSent = true
  }
docs: // First search if any of the static route matches the request.
  // If not, look up the URL in the router.