¿Como puedo crear middleware en Slim Framework 3?

Lei la documentacionaquí sobre la creación de middleware. ¿Pero qué carpeta o archivo debo crear? La documentación no contiene esta información.

Debajo de la carpeta src que tengomiddleware.php.

Por ejemplo, quiero obtener información de publicación como esta:

$app->post('/search/{keywords}', function ($request, $response, $args) {
    $data = $request->getParsedBody();
    //Here is some codes connecting db etc...
    return json_encode($query_response);
});

hice esto bajo elroutes.php pero quiero crear clase o middleware para esto. ¿Como lo puedo hacer? Qué carpeta o archivo debo usar.

Respuestas a la pregunta(1)

Su respuesta a la pregunta