SslConfig

View as MarkdownOpen in Claude

SslConfig manages SSL/TLS configuration for serving agents over HTTPS. It reads from explicit options or falls back to environment variables (SWML_SSL_ENABLED, SWML_SSL_CERT_PATH, SWML_SSL_KEY_PATH, SWML_SSL_DOMAIN). See Environment Variables for the full list.

1import { SslConfig } from '@signalwire/sdk';
2
3const ssl = new SslConfig({ certPath: './cert.pem', keyPath: './key.pem' });

Properties

enabled
boolean

Whether SSL is enabled. Falls back to SWML_SSL_ENABLED env var.

certPath
string | null

Filesystem path to the PEM-encoded certificate. Falls back to SWML_SSL_CERT_PATH.

keyPath
string | null

Filesystem path to the PEM-encoded private key. Falls back to SWML_SSL_KEY_PATH.

domain
string | null

Domain name for HSTS headers. Falls back to SWML_SSL_DOMAIN.

hsts
booleanDefaults to true

Whether to emit Strict-Transport-Security headers.

hstsMaxAge
numberDefaults to 31536000

HSTS max-age value in seconds (default 1 year).

Methods

Example

1import { SslConfig } from '@signalwire/sdk';
2
3const ssl = new SslConfig();
4
5if (ssl.isConfigured()) {
6 const opts = ssl.getServerOptions();
7 console.log('SSL ready with cert and key');
8} else {
9 console.log('SSL not configured — set SWML_SSL_ENABLED=true');
10}