middleware path matcher support