J'utilise servant
et Network.Wai.Application.Static
respectivement pour json api et la diffusion de fichiers statiques. Je veux joindre ces deux Application tel que si staticApp
ne parvient pas à servir, la demande devrait aller à jsonApp
.Rejoindre deux Network.Wai.Application
J'ai essayé de trouver et de lire comment websocketsOr
l'a fait. WebsocketsOr
J'ai finalement écrit:
app :: NW.Application -> NW.Application -> NW.Application
app staticApp apiApp req respond =
staticApp req (\ response ->
do
if (Status.statusCode . NW.responseStatus $ response) < 300
then respond response
else apiApp req respond)
Mais il semble que quelqu'un d'autre (lui-même WAI) aurait fait, le traitement de nombreux cas possibles .. Mais je ne suis pas en mesure de trouver.
Quels sont les bords des cas je suis manquant (exceptions ??) et quelle autre API puis-je utiliser pour faire la même chose?