1
0
Fork 0

Request buffering middleware

This commit is contained in:
Łukasz Harasimowicz 2018-01-31 15:32:04 +01:00 committed by Traefiker
parent d426126a92
commit a81171d5f1
44 changed files with 2155 additions and 5 deletions

View file

@ -26,6 +26,7 @@ func (p *Provider) buildConfiguration(tasks []state.Task) *types.Configuration {
"getLoadBalancer": getLoadBalancer,
"getMaxConn": getMaxConn,
"getHealthCheck": getHealthCheck,
"getBuffering": getBuffering,
"getServers": p.getServers,
"getHost": p.getHost,
"getServerPort": p.getServerPort,
@ -300,6 +301,20 @@ func getHealthCheck(task state.Task) *types.HealthCheck {
}
}
func getBuffering(task state.Task) *types.Buffering {
if !hasPrefix(task, label.TraefikBackendBuffering) {
return nil
}
return &types.Buffering{
MaxRequestBodyBytes: getInt64Value(task, label.TraefikBackendBufferingMaxRequestBodyBytes, 0),
MaxResponseBodyBytes: getInt64Value(task, label.TraefikBackendBufferingMaxResponseBodyBytes, 0),
MemRequestBodyBytes: getInt64Value(task, label.TraefikBackendBufferingMemRequestBodyBytes, 0),
MemResponseBodyBytes: getInt64Value(task, label.TraefikBackendBufferingMemResponseBodyBytes, 0),
RetryExpression: getStringValue(task, label.TraefikBackendBufferingRetryExpression, ""),
}
}
func (p *Provider) getServers(tasks []state.Task) map[string]types.Server {
var servers map[string]types.Server