| 12345678910111213141516171819202122232425 |
- package conf
- import "github.com/xtls/xray-core/common/errors"
- type ConfigureFilePostProcessingStage interface {
- Process(conf *Config) error
- }
- var configureFilePostProcessingStages map[string]ConfigureFilePostProcessingStage
- func RegisterConfigureFilePostProcessingStage(name string, stage ConfigureFilePostProcessingStage) {
- if configureFilePostProcessingStages == nil {
- configureFilePostProcessingStages = make(map[string]ConfigureFilePostProcessingStage)
- }
- configureFilePostProcessingStages[name] = stage
- }
- func PostProcessConfigureFile(conf *Config) error {
- for k, v := range configureFilePostProcessingStages {
- if err := v.Process(conf); err != nil {
- return errors.New("Rejected by Postprocessing Stage ", k).AtError().Base(err)
- }
- }
- return nil
- }
|