Dynamic configuration expression support
- Langage dominant
- Go
- Étoiles
- 6.1k
- Forks
- 327
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
1. Define evaluation context that is passed across the codebase via context.Context.
2. Replace some (most?) configuration values with generic dynamic like:
```go
type DynamicString struct {
...
}
func (ds DynamicString) Evaluate(ctx context.Context) (string, error)
```
3. Add support for single-quote escaping in maddy configuration syntax.
```
modify {
replace_rcpt expr 'address_username(key)'
}
```
4. Define configuration syntax (like above) for dynamic expressions.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Aucun fichier, test ou point d’entrée n’est nommé. Commencez par cartographier l’évaluation de la configuration dans l’ensemble du code et identifier où context.Context devrait être propagé ; examinez ensuite l’analyseur de configuration existant avant de définir la syntaxe des expressions dynamiques et le comportement de l’échappement. Le travail est considéré comme terminé lorsque la conception est approuvée et que les valeurs dynamiques, la syntaxe des expressions et l’échappement des apostrophes sont pris en charge de manière cohérente.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- go
- Domaine
- backend
- Type d'issue
- Fonctionnalité
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 20/100