export class RPCRateLimitMiddleware
extends RpcMiddleware.Tag<RPCRateLimitMiddleware>()(
'RPCRateLimitMiddleware',
{
failure: S.Union(RateLimitExceededError, InternalServerError),
},
)
{}
export const RPCRateLimitMiddlewareLive: Layer.Layer<
RPCRateLimitMiddleware,
never,
never
> = Layer.effect(
RPCRateLimitMiddleware,
Effect.gen(function*() {
const { RateLimit } = yield* Effect.promise(() =>
import('../services/RateLimit')
)
return RPCRateLimitMiddleware.of(({ headers, rpc }) =>
Effect.gen(function*() {
const currentUser = yield* CurrentUser
return void 0
}).pipe(
Effect.provide(RateLimit.Default),
)
)
}),
)
export class RPCRateLimitMiddleware
extends RpcMiddleware.Tag<RPCRateLimitMiddleware>()(
'RPCRateLimitMiddleware',
{
failure: S.Union(RateLimitExceededError, InternalServerError),
},
)
{}
export const RPCRateLimitMiddlewareLive: Layer.Layer<
RPCRateLimitMiddleware,
never,
never
> = Layer.effect(
RPCRateLimitMiddleware,
Effect.gen(function*() {
const { RateLimit } = yield* Effect.promise(() =>
import('../services/RateLimit')
)
return RPCRateLimitMiddleware.of(({ headers, rpc }) =>
Effect.gen(function*() {
const currentUser = yield* CurrentUser
return void 0
}).pipe(
Effect.provide(RateLimit.Default),
)
)
}),
)