Hey, is it possible to define a directive as an array that can be called many times? and if possible, how can I do that .
For example:
caddy_module {
some_directive 123
some_directive 456
}
Thank you !
Hey, is it possible to define a directive as an array that can be called many times? and if possible, how can I do that .
For example:
caddy_module {
some_directive 123
some_directive 456
}
Thank you !
Yes, but what are you actually trying to do?
I want to split Coraza configuration into multiple files:
include "variables.conf"
include "rules.conf"
For example
You’ll need to be more specific.
Are you asking this from the perspective of building a custom module? Or are you asking about a specific directive that already exists in Caddy?
Ultimately, JSON is the underlying configuration language for Caddy. The Caddyfile is just a UX wrapper to make it easier to configure. If you need to repeat the same option multiple times, just make sure that option is stored as a JSON array so it can repeated. And in the Caddyfile parsing step, just append to that slice.
You can find many examples in Caddy’s core that work like this, for example the path
matcher (look for MatchPath
).
Thank you for your answer, if that is the case I will think about something different like:
include "file1" "file2" "file3"
I still don’t understand your question, and I feel like you misunderstood my answer.
Could you please clarify what you’re trying to do? Please be specific.
As far as I’m aware, there’s nothing stopping a non-terminating handler from being called as many times as you like, in succession, with different parameters, in either the Caddyfile or JSON config.
It’s completely up to the author of the module as to how their handler… handles… successive calls like this.
As @francislavoie mentioned, matchers in general are a good example of the versatility here.
This topic was automatically closed after 30 days. New replies are no longer allowed.