Como posso criar middleware no Slim Framework 3?

Eu li a documentaçãoaqui sobre a criação de middleware. Mas qual pasta ou arquivo devo criar? A documentação não contém essas informações.

Sob a pasta src eu tenhomiddleware.php.

Por exemplo, eu quero obter informações de postagem 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);
});

eu fiz isso sob oroutes.php mas eu quero criar classe ou middleware para isso. Como eu posso fazer? Qual pasta ou arquivo devo usar.

questionAnswers(1)

yourAnswerToTheQuestion