Salta al contenuto principale
Versione: Successivo

Plugin del Filtro

Cos'è un plugin di filtraggio?

attenzione

I plugin di filtraggio sono sperimentali e richiedono il feedback di più utenti

Quando utilizzare un filtro di filtraggio?

Se necessiti di mutare i metadati per motivi differenti, questo è un metodo per farlo, tutte le richieste di manifestazione sono intercettate, ma le richieste di archivi tar, utenti, profili, o token, non sono incluse. Un buon esempio da revisionare è verdaccio-plugin-secfilter.

Struttura del plugin

Il plugin dispone soltanto di un metodo asincrono, denominato filter_metadata, che fa riferimento al manifesto e deve restituire una copia (o un oggetto modificato, ma sconsigliato) dei metadati.

export default class VerdaccioMiddlewarePlugin implements IPluginStorageFilter<CustomConfig> {
async filter_metadata(metadata: Readonly<Manifest>): Promise<Package> {
// modifica i metadati
const newMetadata = { ...metadata, ...{ name: 'fooName' } };
return newMetadata;
}
}

Configurazione

Basta aggiungere filters al file config.yaml e le proprie opzioni del plugin.

filters:
storage-filter-blackwhitelist:
filter_file: /path/to/file

Altre info nel PR.