Documentation
¶
There is no documentation for this package.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package clienthelp gives official vendor SDKs a way to talk to tommy even when the SDK itself refuses to.
|
Package clienthelp gives official vendor SDKs a way to talk to tommy even when the SDK itself refuses to. |
|
cmd/as2.go is the as2 half of the single-plugin shortcuts described in cmd/mail.go's package comment.
|
cmd/as2.go is the as2 half of the single-plugin shortcuts described in cmd/mail.go's package comment. |
|
core
|
|
|
blob
Package blob stores the bytes that must never live inside an Event.
|
Package blob stores the bytes that must never live inside an Event. |
|
blob/memory
Package memory implements a size-capped in-memory blob.BlobStore.
|
Package memory implements a size-capped in-memory blob.BlobStore. |
|
config
Package config holds tommy's configuration.
|
Package config holds tommy's configuration. |
|
event
Package event defines the transport-agnostic envelope every tommy plugin produces.
|
Package event defines the transport-agnostic envelope every tommy plugin produces. |
|
plugin
Package plugin defines what a tommy plugin and provider are.
|
Package plugin defines what a tommy plugin and provider are. |
|
plugin/plugintest
Package plugintest holds the conformance checks every plugin and provider must pass.
|
Package plugintest holds the conformance checks every plugin and provider must pass. |
|
server
Package server boots tommy: it wires the store, the registry, the ingress mux and the HTTP listeners together, starts every listener provider, and shuts the lot down gracefully.
|
Package server boots tommy: it wires the store, the registry, the ingress mux and the HTTP listeners together, starts every listener provider, and shuts the lot down gracefully. |
|
server/api
Package api serves the generic /api/v1 surface: health, discovery, events and the event stream.
|
Package api serves the generic /api/v1 surface: health, discovery, events and the event stream. |
|
server/ingress
Package ingress is the shared, path-routed HTTP surface the fake vendor APIs are mounted on.
|
Package ingress is the shared, path-routed HTTP surface the fake vendor APIs are mounted on. |
|
server/sse
Package sse writes the server-sent-events stream shared by the API and the UI.
|
Package sse writes the server-sent-events stream shared by the API and the UI. |
|
server/ui
Package ui serves tommy's web shell: the tab bar built from the plugin registry, one SSE connection per page, the "How to test" panel, and the generic event view any plugin gets for free.
|
Package ui serves tommy's web shell: the tab bar built from the plugin registry, one SSE connection per page, the "How to test" panel, and the generic event view any plugin gets for free. |
|
server/ui/components
Package components is the shared template library every plugin tab composes from: page chrome, master-detail and stream layouts, a JSON inspector, a hex viewer for binary bodies, tables, badges, copy buttons - and the generic event view any plugin gets for free.
|
Package components is the shared template library every plugin tab composes from: page chrome, master-detail and stream layouts, a JSON inspector, a hex viewer for binary bodies, tables, badges, copy buttons - and the generic event view any plugin gets for free. |
|
store
Package store defines the event log every plugin writes to and every read surface (API, UI, SSE) reads from.
|
Package store defines the event log every plugin writes to and every read surface (API, UI, SSE) reads from. |
|
store/memory
Package memory implements store.Store as a per-plugin ring buffer with pub/sub fan-out.
|
Package memory implements store.Store as a per-plugin ring buffer with pub/sub fan-out. |
|
testutil
Package testutil boots a whole tommy in-process on ephemeral ports, so tests exercise the real bootstrap instead of a hand-assembled subset.
|
Package testutil boots a whole tommy in-process on ephemeral ports, so tests exercise the real bootstrap instead of a hand-assembled subset. |
|
testutil/fakeplugin
Package fakeplugin is a complete, self-contained plugin used to exercise the core: registry validation, ingress routing, listener supervision, the generic event view, SSE delivery and plugintest.Conformance.
|
Package fakeplugin is a complete, self-contained plugin used to exercise the core: registry validation, ingress routing, listener supervision, the generic event view, SSE delivery and plugintest.Conformance. |
|
generated
|
|
|
plugins
|
|
|
all
Package all is the single shared wiring point: it names every plugin this binary ships, and every provider inside it.
|
Package all is the single shared wiring point: it names every plugin this binary ships, and every provider inside it. |
|
as2
Package as2 is tommy's AS2 content type: the canonical Message every AS2 provider converts into, the S/MIME and MIME processing that produces it, the MDN receipt that goes back, the read-back API under /api/v1/as2/ and the tab under /ui/as2/.
|
Package as2 is tommy's AS2 content type: the canonical Message every AS2 provider converts into, the S/MIME and MIME processing that produces it, the MDN receipt that goes back, the read-back API under /api/v1/as2/ and the tab under /ui/as2/. |
|
as2/providers/http
Package http is the AS2-over-HTTP binding of RFC 4130: the route a trading partner POSTs an EDIINT message to, and the certificate endpoint that lets it find out what to encrypt to.
|
Package http is the AS2-over-HTTP binding of RFC 4130: the route a trading partner POSTs an EDIINT message to, and the certificate endpoint that lets it find out what to encrypt to. |
|
chat
Package chat is tommy's chat content type: the canonical Message every chat provider converts into, the read-back API under /api/v1/chat/ and the channel-and-stream tab under /ui/chat/.
|
Package chat is tommy's chat content type: the canonical Message every chat provider converts into, the read-back API under /api/v1/chat/ and the channel-and-stream tab under /ui/chat/. |
|
chat/providers/msteams
Package msteams imitates the two generations of Microsoft Teams incoming webhook that are actually in use: the (retired but still widely deployed) Office 365 / Microsoft 365 connector webhook, whose payload is a MessageCard, and the current Power-Automate-backed "Post to a channel when a webhook request is received" workflow trigger, whose payload is an Adaptive Card wrapped in a Bot-Framework-shaped envelope.
|
Package msteams imitates the two generations of Microsoft Teams incoming webhook that are actually in use: the (retired but still widely deployed) Office 365 / Microsoft 365 connector webhook, whose payload is a MessageCard, and the current Power-Automate-backed "Post to a channel when a webhook request is received" workflow trigger, whose payload is an Adaptive Card wrapped in a Bot-Framework-shaped envelope. |
|
chat/providers/slack
Package slack imitates two Slack posting surfaces well enough that a real Slack SDK, or any HTTP client pointed at tommy's ingress, can post a message and have it show up in the chat tab exactly the way it would land in Slack:
|
Package slack imitates two Slack posting surfaces well enough that a real Slack SDK, or any HTTP client pointed at tommy's ingress, can post a message and have it show up in the chat tab exactly the way it would land in Slack: |
|
chat/ui/blocks
Package blocks is the card-rendering seam for the chat plugin: it turns a Slack Block Kit array, a Slack legacy attachments array, a Teams MessageCard or a Teams Adaptive Card into HTML that looks like the real thing, so a card does not fall back to only its plain-text preview plus a raw JSON inspector.
|
Package blocks is the card-rendering seam for the chat plugin: it turns a Slack Block Kit array, a Slack legacy attachments array, a Teams MessageCard or a Teams Adaptive Card into HTML that looks like the real thing, so a card does not fall back to only its plain-text preview plus a raw JSON inspector. |
|
files
Package files is tommy's file-transfer content type: one in-memory virtual filesystem every provider shares, a read-back API, and a file-browser tab.
|
Package files is tommy's file-transfer content type: one in-memory virtual filesystem every provider shares, a read-back API, and a file-browser tab. |
|
files/providers/ftp
Package ftp is tommy's FTP listener: a files provider that owns a real FTP port and reads and writes the plugin's shared virtual filesystem over the wire protocol every FTP client and library already speaks.
|
Package ftp is tommy's FTP listener: a files provider that owns a real FTP port and reads and writes the plugin's shared virtual filesystem over the wire protocol every FTP client and library already speaks. |
|
files/providers/nfs
Package nfs is tommy's NFSv3 listener: a files provider that owns a real TCP port and serves the plugin's shared virtual filesystem over the protocol every operating system can mount natively, so a file written by `cp` into a mounted directory lands in the same tree - and the same event log - that ftp, sftp and tftp write into.
|
Package nfs is tommy's NFSv3 listener: a files provider that owns a real TCP port and serves the plugin's shared virtual filesystem over the protocol every operating system can mount natively, so a file written by `cp` into a mounted directory lands in the same tree - and the same event log - that ftp, sftp and tftp write into. |
|
files/providers/sftp
Package sftp is tommy's SFTP listener: a files provider that owns a real SSH port and writes everything uploaded to it into the plugin's shared virtual filesystem.
|
Package sftp is tommy's SFTP listener: a files provider that owns a real SSH port and writes everything uploaded to it into the plugin's shared virtual filesystem. |
|
files/providers/tftp
Package tftp is tommy's TFTP listener: a files provider that owns a real UDP port and reads and writes the plugin's shared virtual filesystem for every RRQ (download) and WRQ (upload) it receives.
|
Package tftp is tommy's TFTP listener: a files provider that owns a real UDP port and reads and writes the plugin's shared virtual filesystem for every RRQ (download) and WRQ (upload) it receives. |
|
hl7
Package hl7 is tommy's HL7 v2 content type: the canonical Message every HL7 provider converts into, the read-back API under /api/v1/hl7/ and the segment tree tab under /ui/hl7/.
|
Package hl7 is tommy's HL7 v2 content type: the canonical Message every HL7 provider converts into, the read-back API under /api/v1/hl7/ and the segment tree tab under /ui/hl7/. |
|
hl7/providers/mllp
Package mllp is tommy's HL7 listener: a real TCP server speaking MLLP (Minimal Lower Layer Protocol), the framing almost every HL7 v2 integration engine uses on the wire.
|
Package mllp is tommy's HL7 listener: a real TCP server speaking MLLP (Minimal Lower Layer Protocol), the framing almost every HL7 v2 integration engine uses on the wire. |
|
mail
Package mail is tommy's mail content type: one canonical Message every provider converts into, a read-back API, and an inbox tab.
|
Package mail is tommy's mail content type: one canonical Message every provider converts into, a read-back API, and an inbox tab. |
|
mail/mailtest
Package mailtest is a test-only mail provider.
|
Package mailtest is a test-only mail provider. |
|
mail/providers/mailjet
Package mailjet imitates Mailjet's transactional Send API v3.1.
|
Package mailjet imitates Mailjet's transactional Send API v3.1. |
|
mail/providers/resend
Package resend imitates the Resend Email API (https://api.resend.com), the three endpoints an application actually sends mail through:
|
Package resend imitates the Resend Email API (https://api.resend.com), the three endpoints an application actually sends mail through: |
|
mail/providers/sendgrid
Package sendgrid imitates the Twilio SendGrid v3 Mail Send API (https://www.twilio.com/docs/sendgrid/api-reference/mail-send/mail-send).
|
Package sendgrid imitates the Twilio SendGrid v3 Mail Send API (https://www.twilio.com/docs/sendgrid/api-reference/mail-send/mail-send). |
|
mail/providers/smtp
Package smtp is tommy's SMTP listener: a mail provider that owns a real SMTP port and turns everything delivered to it into canonical mail messages.
|
Package smtp is tommy's SMTP listener: a mail provider that owns a real SMTP port and turns everything delivered to it into canonical mail messages. |
|
push
Package push is tommy's push-notification content type: the canonical Message every push provider converts into, the read-back API under /api/v1/push/ and the lock-screen tab under /ui/push/.
|
Package push is tommy's push-notification content type: the canonical Message every push provider converts into, the read-back API under /api/v1/push/ and the lock-screen tab under /ui/push/. |
|
push/providers/apns
Package apns imitates the Apple Push Notification service provider API - POST /3/device/{deviceToken} - well enough that sideshow/apns2, or any HTTP/2 client pointed at tommy's ingress, sends a push and gets back the response it expects.
|
Package apns imitates the Apple Push Notification service provider API - POST /3/device/{deviceToken} - well enough that sideshow/apns2, or any HTTP/2 client pointed at tommy's ingress, sends a push and gets back the response it expects. |
|
push/providers/fcm
Package fcm imitates Firebase Cloud Messaging's HTTP v1 send API well enough that the Firebase Admin SDKs, or any HTTP client pointed at tommy's ingress, can send a push and get back the response shape they expect.
|
Package fcm imitates Firebase Cloud Messaging's HTTP v1 send API well enough that the Firebase Admin SDKs, or any HTTP client pointed at tommy's ingress, can send a push and get back the response shape they expect. |
|
sms
Package sms is tommy's SMS/MMS content type.
|
Package sms is tommy's SMS/MMS content type. |
|
sms/providers/twilio
Package twilio imitates Twilio's Programmable Messaging REST API well enough that the twilio-go SDK, or any HTTP client pointed at tommy's ingress, can send a message and read it back exactly the way it would against the real api.twilio.com.
|
Package twilio imitates Twilio's Programmable Messaging REST API well enough that the twilio-go SDK, or any HTTP client pointed at tommy's ingress, can send a message and read it back exactly the way it would against the real api.twilio.com. |
|
snmp
Package snmp is tommy's SNMP trap content type: the canonical Trap every provider converts into, and the plugin wiring around it.
|
Package snmp is tommy's SNMP trap content type: the canonical Trap every provider converts into, and the plugin wiring around it. |
|
snmp/providers/trap
Package trap is tommy's SNMP trap receiver: a real UDP listener that accepts v1 traps, v2c traps and v2c informs, decodes every varbind and records it as an snmp.Trap.
|
Package trap is tommy's SNMP trap receiver: a real UDP listener that accepts v1 traps, v2c traps and v2c informs, decodes every varbind and records it as an snmp.Trap. |
Click to show internal directories.
Click to hide internal directories.