package
0.1.2
Repository: https://github.com/sot-tech/mochi.git
Documentation: pkg.go.dev

# Packages

Package clientapproval implements a Hook that fails an Announce based on a whitelist or blacklist of BitTorrent client IDs.
Package jwt implements a Hook that fails on Announce or Scrape if the client's request is missing a valid JSON Web Token.
Package torrentapproval implements a Hook that fails an Announce based on a whitelist or blacklist of torrent hash.
Package varinterval contains interval variation middleware.

# Functions

NewHooks is a utility function for initializing Hooks in bulk.
NewLogic creates a new instance of a Logic that executes the provided middleware hooks.
RegisterBuilder makes a Builder available by the provided name.

# Variables

SkipResponseHookKey is a key for the context of an Announce or Scrape to control whether the response middleware should run.
SkipSwarmInteractionKey is a key for the context of an Announce to control whether the swarm interaction middleware should run.

# Structs

Logic used by a frontend in order to: (1) generate a response from a parsed request, and (2) asynchronously observe anything after the response has been delivered to the client.

# Interfaces

Hook abstracts the concept of anything that needs to interact with a BitTorrent client's request and response to a BitTorrent tracker.
Pinger is an optional interface that may be implemented by a pre Hook to check if it is operational.

# Type aliases

Builder is the function used to initialize a new Hook with provided configuration.