Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func JSON ¶
func JSON(val interface{}, warnings *[]Warning) json.RawMessage
JSON encodes val as JSON, returning it as a json.RawMessage. Any marshaling errors (which are highly unlikely with correct code) are converted to warnings. This is convenient when filling config structs that require a json.RawMessage, without having to worry about errors.
func JSONIndent ¶
JSONIndent is used to JSON-marshal the final resulting Caddy configuration in a consistent, human-readable way.
func JSONModuleObject ¶
func JSONModuleObject(val interface{}, fieldName, fieldVal string, warnings *[]Warning) json.RawMessage
JSONModuleObject is like JSON, except it marshals val into a JSON object and then adds a key to that object named fieldName with the value fieldVal. This is useful for JSON-encoding module values where the module name has to be described within the object by a certain key; for example, "responder": "file_server" for a file server HTTP responder. The val must encode into a map[string]interface{} (i.e. it must be a struct or map), and any errors are converted into warnings, so this can be conveniently used when filling a struct. For correct code, there should be no errors.
func RegisterAdapter ¶
RegisterAdapter registers a config adapter with the given name. This should usually be done at init-time.
Types ¶
type Adapter ¶
type Adapter interface {
Adapt(body []byte, options map[string]interface{}) ([]byte, []Warning, error)
}
Adapter is a type which can adapt a configuration to Caddy JSON. It returns the results and any warnings, or an error.
func GetAdapter ¶
GetAdapter returns the adapter with the given name, or nil if one with that name is not registered.