Open stevemao opened 2 years ago
I can add multiple handlers like this
runLambdaHaskellRuntime defaultDispatcherOptions (pure ()) id $ do addAPIGatewayHandler "api-gateway" gatewayHandler addALBHandler "alb" albHandler addStandaloneLambdaHandler "standalone" regularHandler gatewayHandler :: ApiGatewayRequest request -> Context context -> IO (Either (ApiGatewayResponse error) (ApiGatewayResponse response)) gatewayHandler = doSomething albHandler :: ALBRequest request -> Context context -> IO (Either (ALBResponse error) (ALBResponse response)) albHandler = doSomething regularHandler :: request -> Context context -> IO (Either error response) regularHandler = doSomething
But the request and response type must be the same for all the handlers. What's the recommended way to add handlers with different types?
EG:
gatewayHandler :: ApiGatewayRequest Foo -> Context context -> IO (Either (ApiGatewayResponse Error) (ApiGatewayResponse Bar)) gatewayHandler = doSomething1 albHandler :: ALBRequest Bar -> Context context -> IO (Either (ALBResponse error) (ALBResponse response)) albHandler = doSomething2 regularHandler :: request -> Context context -> IO (Either error response) regularHandler = doSomething3
I can add multiple handlers like this
But the request and response type must be the same for all the handlers. What's the recommended way to add handlers with different types?
EG: