feat: move requestip config to http config (#25)

This commit is contained in:
Thanee Charattrakool
2024-06-12 22:08:03 +07:00
committed by GitHub
parent a7bc6257c4
commit 51fd1f6636
3 changed files with 16 additions and 19 deletions

View File

@@ -145,7 +145,7 @@ func runHandler(cmd *cobra.Command, _ []string) error {
Use(requestid.New()). Use(requestid.New()).
Use(requestcontext.New( Use(requestcontext.New(
requestcontext.WithRequestId(), requestcontext.WithRequestId(),
requestcontext.WithClientIP(conf.RequestIP), requestcontext.WithClientIP(conf.HTTPServer.RequestIP),
)). )).
Use(requestlogger.New(conf.HTTPServer.Logger)). Use(requestlogger.New(conf.HTTPServer.Logger)).
Use(fiberrecover.New(fiberrecover.Config{ Use(fiberrecover.New(fiberrecover.Config{

View File

@@ -27,10 +27,7 @@ http_server:
disable: false # disable logger if logger level is `INFO` disable: false # disable logger if logger level is `INFO`
request_header: false request_header: false
request_query: false request_query: false
requestip: # Client IP extraction configuration options. This is unnecessary if you don't care about the real client IP or if you're not using a reverse proxy.
# Client IP extraction configuration options.
# This is unnecessary if you don't care about the real client IP or if you're not using a reverse proxy.
requestip:
trusted_proxies_ip: # Cloudflare, GCP Public LB. See: server/internal/middleware/requestcontext/PROXY-IP.md trusted_proxies_ip: # Cloudflare, GCP Public LB. See: server/internal/middleware/requestcontext/PROXY-IP.md
trusted_proxies_header: # X-Real-IP, CF-Connecting-IP trusted_proxies_header: # X-Real-IP, CF-Connecting-IP
enable_reject_malformed_request: false # return 403 if request is malformed (invalid IP) enable_reject_malformed_request: false # return 403 if request is malformed (invalid IP)

View File

@@ -51,7 +51,6 @@ type Config struct {
HTTPServer HTTPServerConfig `mapstructure:"http_server"` HTTPServer HTTPServerConfig `mapstructure:"http_server"`
Modules Modules `mapstructure:"modules"` Modules Modules `mapstructure:"modules"`
Reporting reportingclient.Config `mapstructure:"reporting"` Reporting reportingclient.Config `mapstructure:"reporting"`
RequestIP requestcontext.WithClientIPConfig `mapstructure:"requestip"`
} }
type BitcoinNodeClient struct { type BitcoinNodeClient struct {
@@ -68,6 +67,7 @@ type Modules struct {
type HTTPServerConfig struct { type HTTPServerConfig struct {
Port int `mapstructure:"port"` Port int `mapstructure:"port"`
Logger requestlogger.Config `mapstructure:"logger"` Logger requestlogger.Config `mapstructure:"logger"`
RequestIP requestcontext.WithClientIPConfig `mapstructure:"requestip"`
} }
// Parse parse the configuration from environment variables // Parse parse the configuration from environment variables