package middleware import ( "net/http" ) // NewLoggingResponseWriterForTest wraps newLoggingResponseWriter // for use in external test packages. func NewLoggingResponseWriterForTest( w http.ResponseWriter, ) *loggingResponseWriter { return newLoggingResponseWriter(w) } // LoggingResponseWriterStatusCode returns the status code // captured by the loggingResponseWriter. func LoggingResponseWriterStatusCode( lrw *loggingResponseWriter, ) int { return lrw.statusCode } // IPFromHostPort exposes ipFromHostPort for testing. func IPFromHostPort(hp string) string { return ipFromHostPort(hp) } // ClientKeyForTest exposes clientKey for testing. func ClientKeyForTest(m *Middleware, r *http.Request) string { return m.clientKey(r) } // IsClientTLS exposes isClientTLS for testing. func IsClientTLS(r *http.Request) bool { return isClientTLS(r) } // LoginRateLimitConst exposes the loginRateLimit constant. const LoginRateLimitConst = loginRateLimit // PasswordChangeRateLimitConst exposes the // passwordChangeRateLimit constant. const PasswordChangeRateLimitConst = passwordChangeRateLimit // ReceiverAggregateMultiplierConst exposes the // receiverAggregateMultiplier constant. const ReceiverAggregateMultiplierConst = receiverAggregateMultiplier // ReceiverAggregateLimitForTest exposes receiverAggregateLimit for // testing. func ReceiverAggregateLimitForTest(perEntrypoint int) int { return receiverAggregateLimit(perEntrypoint) }