diff options
Diffstat (limited to 'service/headers/config.go')
-rw-r--r-- | service/headers/config.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/service/headers/config.go b/service/headers/config.go new file mode 100644 index 00000000..bb7a6b2b --- /dev/null +++ b/service/headers/config.go @@ -0,0 +1,41 @@ +package headers + +import "github.com/spiral/roadrunner/service" + +// Config declares headers service configuration. +type Config struct { + // CORS settings. + CORS *CORSConfig + + // Request headers to add to every payload send to PHP. + Request map[string]string + + // Response headers to add to every payload generated by PHP. + Response map[string]string +} + +// CORS headers configuration. +type CORSConfig struct { + // AllowedOrigin: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin + AllowedOrigin string + + // AllowedHeaders: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers + AllowedHeaders string + + // AllowedMethods: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods + AllowedMethods string + + // AllowCredentials https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials + AllowCredentials *bool + + // ExposeHeaders: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers + ExposedHeaders string + + // MaxAge of CORS headers in seconds/ + MaxAge int +} + +// Hydrate service config. +func (c *Config) Hydrate(cfg service.Config) error { + return cfg.Unmarshal(c) +} |