You have to put the Raw endpoint after the other one. A Raw endpoint matches everything (even if you actually end up sending a 404 in your corresponding handler). You always have to put it last. When no other criterion is available, servant-server's routing mechanism will try to route a request to an API (Endpoint1 :<|> Endpoint2) by first trying Endpoint1, and if _routing_ succeeds you return whatever Endpoint1 returns. Routing always suceeds with Raw, ergo your second endpoint is effectively unreachable. Switch the order of the two and everything should be fine :)
--