Port of Go server/opts.go processConfigFileLine switch. Maps parsed NATS config dictionaries to NatsOptions fields including: - Core options (port, host, server_name, limits, ping, write_deadline) - Logging (debug, trace, logfile, log rotation) - Authorization (single user, users array with permissions) - TLS (cert/key/ca, verify, pinned_certs, handshake_first) - Monitoring (http_port, https_port, http/https listen, base_path) - Lifecycle (lame_duck_duration/grace_period) - Server tags, file paths, system account options Includes error collection (not fail-fast), duration parsing (ms/s/m/h strings and numeric seconds), host:port listen parsing, and 56 tests covering all config sections plus validation edge cases.
20 lines
350 B
Plaintext
20 lines
350 B
Plaintext
port: 4222
|
|
host: "0.0.0.0"
|
|
server_name: "test-server"
|
|
max_payload: 2mb
|
|
max_connections: 1000
|
|
debug: true
|
|
trace: false
|
|
logtime: true
|
|
logtime_utc: false
|
|
ping_interval: "30s"
|
|
ping_max: 3
|
|
write_deadline: "5s"
|
|
max_subs: 100
|
|
max_sub_tokens: 16
|
|
max_control_line: 2048
|
|
max_pending: 32mb
|
|
lame_duck_duration: "60s"
|
|
lame_duck_grace_period: "5s"
|
|
http_port: 8222
|