Skip to content

Extension points

phil/well-known-bundle

What an application or another bundle implements, configures, replaces or relies on. See Documents and WebFinger.

Contracts

InterfaceHow it is used
Phil\WellKnownBundle\Application\Contract\WellKnownDocumentA document of its own, served at its path: #[AsWellKnownDocument('matrix/client')] on the class with autoconfiguration, or the phil_well_known.document tag with path and an optional route
…\Application\Contract\WebFingerResolverAdds resources and links to WebFinger; autoconfigured with the phil_well_known.webfinger_resolver tag, after the resources of the configuration
…\Application\Contract\NodeInfoProviderTells the NodeInfo software, usage, registrations and metadata; named in nodeinfo.provider
…\Application\Contract\SecurityTxtSignerSigns the security.txt; named in security_txt.signer

A document's path is a name under /.well-known/ — segments of letters, digits, ., _, ~ and -, each starting with a letter or a digit — or an absolute path for a document a well-known one points to. Its route is named phil_well_known_ and the path, its other characters as _, unless route names it. Two documents at one path or with one route name stop the container from being built. The controller adds the headers of Documents; a document that wants another lifetime sets its own max-age, or no-store.

Tags

TagAttributesRole
phil_well_known.documentpath, routeA document and where it is served
phil_well_known.webfinger_resolverbefore, afterA WebFinger resolver and its order

Configuration

OptionWhat it extends
cache_max_ageHow long successful answers may be cached
One section per documentWhich documents are served, and what they hold — see Configuration
documentsFixed documents at other well-known paths

Services

ServiceHow an application relies on it
Phil\WellKnownBundle\Infrastructure\Http\WellKnownControllerThe controller of every route; public
Phil\WellKnownBundle\Application\WebFingerWith webfinger: injected to describe a resource in code
The phil_well_known route type and config/routes.phpImported where the application wants the documents served — see Installation
The phil_well_known.routes parameterThe path of each document, keyed by its route name