The haskell.yml workflow wasn't updated when servant-rate-limit was added to the repository. This PR updates the workflow for the new package and also fixes some bugs that showed up as a result of those changes:
The workflow's build matrix now includes the package flags for servant-rate-limit to build all permutations of those flags.
Building servant-rate-limit-tests is now conditional on the server and client flags. The tests require both the server and client code to function.
The HasRateLimitStrategy and HasRateLimitPolicy classes have been moved to the Servant.RateLimit.Server module. They are only required for the server implementation and are now dependent on the Context type, which is only available in servant-server.
Some imports have been reshuffled for Servant.RateLimit.Client so it does no longer depend on servant-server.
Type is used instead of * in Servant.RateLimit.Server
The
haskell.yml
workflow wasn't updated whenservant-rate-limit
was added to the repository. This PR updates the workflow for the new package and also fixes some bugs that showed up as a result of those changes:servant-rate-limit
to build all permutations of those flags.servant-rate-limit-tests
is now conditional on theserver
andclient
flags. The tests require both the server and client code to function.HasRateLimitStrategy
andHasRateLimitPolicy
classes have been moved to theServant.RateLimit.Server
module. They are only required for the server implementation and are now dependent on theContext
type, which is only available inservant-server
.Servant.RateLimit.Client
so it does no longer depend onservant-server
.Type
is used instead of*
inServant.RateLimit.Server