{
    "Kestrel": {
        "EndPoints": {
            "Http": {
                "Url": "http://localhost:80"
            },
            "Https": {
                "Url": "http://localhost:443"
            }
        }
    },
    "MQTT": {
        /*
         Wildcard Addresses:
          *             - All local IP addresses
          localhost     - Localhost only
          disable       - Skip address assignment
        */
        "TcpEndPoint": {
            "Enabled": true,
            "IPv4": "localhost",
            "IPv6": "localhost",
            "Port": 1883
        },
        "EncryptedTcpEndPoint": {
            "Enabled": false,
            "IPv4": "localhost",
            "IPv6": "localhost",
            "Port": 8883,
            "CertificatePath": "/absolute/path/to/pfx"
        },
        "WebSocketEndPoint": {
            "Enabled": true,
            "Path": "/mqtt",
            "KeepAliveInterval": 120, // In seconds.
            "ReceiveBufferSize": 4096,
            "AllowedOrigins": [] // List of strings with URLs.
        },
        "CommunicationTimeout": 15, // In seconds.
        "ConnectionBacklog": 0, /* Set 0 to disable */
        "EnablePersistentSessions": false,
        "MaxPendingMessagesPerClient": 250,
        "RetainedApplicationMessages": {
            "Persist": true,
            "Filename": "RetainedApplicationMessages.json",
            "WriteInterval": 10 // In seconds.
        },
        "EnableDebugLogging": false
    },
    "Logging": {
        "LogLevel": {
            "Default": "Debug",
            "System": "Information",
            "Microsoft": "Information"
        }
    },
    "AllowedHosts": "*"
}
