Skip to content
Snippets Groups Projects
  • Matthew Holt's avatar
    e51e56a4
    httpcaddyfile: Fix nested blocks; add handle directive; refactor · e51e56a4
    Matthew Holt authored
    The fix that was initially put forth in #2971 was good, but only for
    up to one layer of nesting. The real problem was that we forgot to
    increment nesting when already inside a block if we saw another open
    curly brace that opens another block (dispenser.go L157-158).
    
    The new 'handle' directive allows HTTP Caddyfiles to be designed more
    like nginx location blocks if the user prefers. Inside a handle block,
    directives are still ordered just like they are outside of them, but
    handler blocks at a given level of nesting are mutually exclusive.
    
    This work benefitted from some refactoring and cleanup.
    httpcaddyfile: Fix nested blocks; add handle directive; refactor
    Matthew Holt authored
    The fix that was initially put forth in #2971 was good, but only for
    up to one layer of nesting. The real problem was that we forgot to
    increment nesting when already inside a block if we saw another open
    curly brace that opens another block (dispenser.go L157-158).
    
    The new 'handle' directive allows HTTP Caddyfiles to be designed more
    like nginx location blocks if the user prefers. Inside a handle block,
    directives are still ordered just like they are outside of them, but
    handler blocks at a given level of nesting are mutually exclusive.
    
    This work benefitted from some refactoring and cleanup.