# Functions

NewLocalServer creates a WebHookServer that listens on publicIP, publicPort and uses stateless-dns-server to obtain a hostname.
NewLocalTunnel creates a LocalTunnel Defaults to localtunnel.me if no baseURL is specified.
NewServer returns a Server implementing WebHookServer, choosing the implemetation based on the configuration passed in.
NewTestServer returns a LocalServer running on a random port on localhost, this is exclusively for writing tests.
NewWebHookSet returns a new WebHookSet wrapping the given WebHookServer.
NewWebhookTunnel returns a pointer to a new WebhookTunnel instance.

# Variables

ConfigSchema specifies schema for configuration passed to NewServer.

# Structs

LocalServer is a WebHookServer implementation that exposes webhooks on a local port directly exposed to the internet.
LocalTunnel is a WebHookServer implementation based on localtunnel.me Useful when testing on localhost, should obviously never be used in production due to stability, security and scalability constraints.
TestServer is a WebHookServer implementation that exposes webhooks on a random port on localhost for testing.
A WebHookSet wraps a WebHookServer such that all hooks can be detached when the WebHookSet is disposed.
WebhookTunnel wraps a whclient instance as a WebHookServer.

# Interfaces

Server abstracts various WebHookServer implementations.
A WebHookServer can serve web hooks exposed to the public internet.