@@ -426,7 +426,112 @@ func (p *configParser) getBackendParser() *Parsers {
426426}
427427
428428func (p * configParser ) getListenParser () * Parsers {
429- return p .createParsers (map [string ]ParserInterface {}, []Section {})
429+ parser := map [string ]ParserInterface {}
430+ sequence := []Section {}
431+ addParser (parser , & sequence , & parsers.Mode {})
432+ addParser (parser , & sequence , & parsers.HashType {})
433+ addParser (parser , & sequence , & parsers.Balance {})
434+ addParser (parser , & sequence , & parsers.MaxConn {})
435+ addParser (parser , & sequence , & simple.Number {Name : "backlog" })
436+ addParser (parser , & sequence , & parsers.Bind {})
437+ addParser (parser , & sequence , & parsers.ACL {})
438+ addParser (parser , & sequence , & parsers.ForcePersist {})
439+ addParser (parser , & sequence , & parsers.MonitorURI {})
440+ addParser (parser , & sequence , & parsers.MonitorFail {})
441+ addParser (parser , & sequence , & parsers.BindProcess {})
442+ addParser (parser , & sequence , & simple.Word {Name : "log-tag" })
443+ addParser (parser , & sequence , & simple.String {Name : "log-format" })
444+ addParser (parser , & sequence , & simple.String {Name : "log-format-sd" })
445+ addParser (parser , & sequence , & parsers.Log {})
446+ addParser (parser , & sequence , & simple.Option {Name : "httpclose" })
447+ addParser (parser , & sequence , & simple.Option {Name : "forceclose" })
448+ addParser (parser , & sequence , & simple.Option {Name : "http-buffer-request" })
449+ addParser (parser , & sequence , & simple.Option {Name : "http-server-close" })
450+ addParser (parser , & sequence , & simple.Option {Name : "http-keep-alive" })
451+ addParser (parser , & sequence , & simple.Option {Name : "http-pretend-keepalive" })
452+ addParser (parser , & sequence , & simple.Option {Name : "http-use-htx" })
453+ addParser (parser , & sequence , & simple.Option {Name : "http-no-delay" })
454+ addParser (parser , & sequence , & simple.Option {Name : "http-proxy" })
455+ addParser (parser , & sequence , & parsers.OptionForwardFor {})
456+ addParser (parser , & sequence , & simple.Option {Name : "ssl-hello-chk" })
457+ addParser (parser , & sequence , & parsers.OptionSmtpchk {})
458+ addParser (parser , & sequence , & simple.Option {Name : "ldap-check" })
459+ addParser (parser , & sequence , & parsers.OptionMysqlCheck {})
460+ addParser (parser , & sequence , & simple.Option {Name : "abortonclose" })
461+ addParser (parser , & sequence , & parsers.OptionPgsqlCheck {})
462+ addParser (parser , & sequence , & simple.Option {Name : "redis-check" })
463+ addParser (parser , & sequence , & parsers.OptionRedispatch {})
464+ addParser (parser , & sequence , & simple.Option {Name : "external-check" })
465+ addParser (parser , & sequence , & simple.Option {Name : "tcplog" })
466+ addParser (parser , & sequence , & simple.Option {Name : "dontlognull" })
467+ addParser (parser , & sequence , & simple.Option {Name : "contstats" })
468+ addParser (parser , & sequence , & simple.Option {Name : "log-separate-errors" })
469+ addParser (parser , & sequence , & simple.Option {Name : "tcpka" })
470+ addParser (parser , & sequence , & simple.Option {Name : "clitcpka" })
471+ addParser (parser , & sequence , & simple.Option {Name : "splice-auto" })
472+ addParser (parser , & sequence , & simple.Option {Name : "splice-request" })
473+ addParser (parser , & sequence , & simple.Option {Name : "splice-response" })
474+ addParser (parser , & sequence , & simple.Option {Name : "log-health-checks" })
475+ addParser (parser , & sequence , & simple.String {Name : "log-tag" })
476+ addParser (parser , & sequence , & simple.Option {Name : "tcpka" })
477+ addParser (parser , & sequence , & simple.Option {Name : "srvtcpka" })
478+ addParser (parser , & sequence , & simple.Option {Name : "allbackups" })
479+ addParser (parser , & sequence , & simple.Option {Name : "accept-invalid-http-request" })
480+ addParser (parser , & sequence , & simple.Option {Name : "h1-case-adjust-bogus-client" })
481+ addParser (parser , & sequence , & simple.Option {Name : "disable-h2-upgrade" })
482+ addParser (parser , & sequence , & simple.Option {Name : "logasap" })
483+ addParser (parser , & sequence , & parsers.OptionHTTPLog {})
484+ addParser (parser , & sequence , & simple.Option {Name : "accept-invalid-http-response" })
485+ addParser (parser , & sequence , & simple.Option {Name : "h1-case-adjust-bogus-server" })
486+ addParser (parser , & sequence , & simple.Option {Name : "tcp-check" })
487+ addParser (parser , & sequence , & tcp.Checks {})
488+ addParser (parser , & sequence , & parsers.OptionHttpchk {})
489+ if p .Options .UseV2HTTPCheck {
490+ addParser (parser , & sequence , & parsers.HTTPCheckV2 {})
491+ } else {
492+ addParser (parser , & sequence , & http.Checks {Mode : "listen" })
493+ }
494+ addParser (parser , & sequence , & parsers.ExternalCheckPath {})
495+ addParser (parser , & sequence , & parsers.ExternalCheckCommand {})
496+ addParser (parser , & sequence , & simple.Timeout {Name : "http-request" })
497+ addParser (parser , & sequence , & simple.Timeout {Name : "client" })
498+ addParser (parser , & sequence , & simple.Timeout {Name : "client-fin" })
499+ addParser (parser , & sequence , & simple.Timeout {Name : "queue" })
500+ addParser (parser , & sequence , & simple.Timeout {Name : "http-keep-alive" })
501+ addParser (parser , & sequence , & simple.Timeout {Name : "check" })
502+ addParser (parser , & sequence , & simple.Timeout {Name : "tunnel" })
503+ addParser (parser , & sequence , & simple.Timeout {Name : "server" })
504+ addParser (parser , & sequence , & simple.Timeout {Name : "server-fin" })
505+ addParser (parser , & sequence , & simple.Timeout {Name : "connect" })
506+ addParser (parser , & sequence , & parsers.DefaultServer {})
507+ addParser (parser , & sequence , & parsers.Stick {})
508+ addParser (parser , & sequence , & filters.Filters {})
509+ addParser (parser , & sequence , & parsers.CompressionAlgo {})
510+ addParser (parser , & sequence , & parsers.CompressionType {})
511+ addParser (parser , & sequence , & parsers.CompressionOffload {})
512+ addParser (parser , & sequence , & tcp.Requests {})
513+ addParser (parser , & sequence , & stats.Stats {Mode : "listen" })
514+ addParser (parser , & sequence , & parsers.HTTPReuse {})
515+ addParser (parser , & sequence , & http.Requests {Mode : "listen" })
516+ addParser (parser , & sequence , & http.Redirect {})
517+ addParser (parser , & sequence , & parsers.Cookie {})
518+ addParser (parser , & sequence , & simple.Word {Name : "dynamic-cookie-key" })
519+ addParser (parser , & sequence , & parsers.UseServer {})
520+ addParser (parser , & sequence , & parsers.UniqueIDFormat {})
521+ addParser (parser , & sequence , & parsers.UniqueIDHeader {})
522+ addParser (parser , & sequence , & parsers.ErrorFile {})
523+ addParser (parser , & sequence , & parsers.ConfigSnippet {})
524+ addParser (parser , & sequence , & parsers.UseBackend {})
525+ addParser (parser , & sequence , & parsers.DefaultBackend {})
526+ addParser (parser , & sequence , & parsers.StickTable {})
527+ addParser (parser , & sequence , & parsers.ConfigSnippet {})
528+ addParser (parser , & sequence , & parsers.ErrorFile {})
529+ addParser (parser , & sequence , & parsers.Server {})
530+ addParser (parser , & sequence , & simple.Number {Name : "retries" })
531+ addParser (parser , & sequence , & tcp.Responses {})
532+ addParser (parser , & sequence , & http.Responses {Mode : "listen" })
533+ addParser (parser , & sequence , & parsers.DeclareCapture {})
534+ return p .createParsers (parser , sequence )
430535}
431536
432537func (p * configParser ) getResolverParser () * Parsers {
0 commit comments