Documentation
¶
Overview ¶
Package service implements the common utils function for daemon services.
To use the service package, import the package and its dependencies, as shown in the following example:
package main
import (
_ "github.com/wabarc/wayback/ingress"
"github.com/wabarc/wayback/service"
)
func main() {
// Initialize services with configuration options and a context.
opts := service.Options{}
ctx := context.Background()
err := service.Serve(ctx, opts)
// ...
}
Index ¶
- Constants
- Variables
- func ExcludeURL(urls []*url.URL, host string) (ex []*url.URL)
- func MatchURL(opts *config.Options, s string) (urls []*url.URL)
- func Register(srv config.Flag, action SetupFunc)
- func Serve(ctx context.Context, opts Options) (errs error)
- func Shutdown() (errs error)
- func UploadToDiscord(opts *config.Options, art reduxer.Artifact) (files []*discord.File)
- func UploadToSlack(client *slack.Client, opts *config.Options, art reduxer.Artifact, ...) (err error)
- func UploadToTelegram(opts *config.Options, art reduxer.Artifact, caption string) telegram.Album
- func Wayback(ctx context.Context, opts *config.Options, urls []*url.URL, do doFunc) error
- type Module
- type Option
- type Options
- type Servicer
- type SetupFunc
Constants ¶
const ( CommandHelp = "help" CommandMetrics = "metrics" CommandPlayback = "playback" MsgWaybackRetrying = "wayback timeout, retrying." MsgWaybackTimeout = "wayback timeout, please try later." )
Variables ¶
var ErrMissingURL = fmt.Errorf("URL no found")
Functions ¶
func ExcludeURL ¶ added in v0.18.0
ExcludeURL removes URLs based on hostname; it is only available for multiple URLs. The URLs given should be de-duplicated advance.
func Register ¶ added in v0.20.0
Register registers a service instance's setup function and allows it to be called.
func UploadToDiscord ¶ added in v0.17.0
UploadToDiscord composes files that share with Discord by a given artifact.
func UploadToSlack ¶ added in v0.17.0
func UploadToSlack(client *slack.Client, opts *config.Options, art reduxer.Artifact, channel, timestamp, caption string) (err error)
UploadToSlack upload files to channel and attach as a reply by the given artifact
func UploadToTelegram ¶ added in v0.17.0
UploadToTelegram composes files into an album by the given artifact.
Types ¶
type Module ¶ added in v0.20.0
Module is a struct embeds the Servicer interface and holds a pointer to Options.
type Option ¶ added in v0.19.0
type Option func(*Options)
Option is a function that modifies the provided Options instance.
func Config ¶ added in v0.19.0
Config returns an Option function that sets the Config field of Options.
type Options ¶ added in v0.19.0
type Options struct {
// Config holds the configuration options.
Config *config.Options
// Pool holds the connection pool to be used.
Pool *pooling.Pool
// Publish holds the publish service to be used.
Publish *publish.Publish
// Storage holds the storage service to be used.
Storage *storage.Storage
}
Options represents the configuration for services.
func ParseOptions ¶ added in v0.19.0
ParseOptions returns the Options instance with modifications applied using the provided Option functions.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package discord implements the discord bot daemon service.
|
Package discord implements the discord bot daemon service. |
|
Package httpd implements the tor network service.
|
Package httpd implements the tor network service. |
|
Package mastodon implements the mastodon daemon service.
|
Package mastodon implements the mastodon daemon service. |
|
Package matrix implements the matrix daemon service.
|
Package matrix implements the matrix daemon service. |
|
Package relaychat implements the internet relay chat daemon service.
|
Package relaychat implements the internet relay chat daemon service. |
|
Package slack implements the slack bot daemon service.
|
Package slack implements the slack bot daemon service. |
|
Package telegram implements the telegram bot daemon service.
|
Package telegram implements the telegram bot daemon service. |
|
Package twitter implements the twitter daemon service.
|
Package twitter implements the twitter daemon service. |
|
Package xmpp implements the xmpp daemon service.
|
Package xmpp implements the xmpp daemon service. |