backend.go 603 B

1234567891011121314151617181920212223
  1. package backends
  2. import (
  3. "fmt"
  4. guerrilla "github.com/flashmob/go-guerrilla"
  5. )
  6. var backends = map[string]guerrilla.Backend{}
  7. // New retrieve a backend specified by the backendName, and initialize it using
  8. // backendConfig
  9. func New(backendName string, backendConfig guerrilla.BackendConfig) (guerrilla.Backend, error) {
  10. backend, found := backends[backendName]
  11. if !found {
  12. return nil, fmt.Errorf("backend %q not found", backendName)
  13. }
  14. err := backend.Initialize(backendConfig)
  15. if err != nil {
  16. return nil, fmt.Errorf("error while initializing the backend: %s", err)
  17. }
  18. return backend, nil
  19. }