negroniからmiddlewareの仕組みをパクってきた

単に実装してみたかっただけで、特に取り込んでほしいというわけではない