24 lines
570 B
Go
24 lines
570 B
Go
package godog
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
)
|
|
|
|
var resourcesHandler = map[string]ResourceHandler{}
|
|
|
|
func RegisterResourceHandler(resourceName string, handler ResourceHandler) {
|
|
if _, ok := resourcesHandler[resourceName]; ok {
|
|
log.Fatalf("Can't add an already existing handler for resource %s", resourceName)
|
|
return
|
|
}
|
|
resourcesHandler[resourceName] = handler
|
|
}
|
|
|
|
func GetResourceHandler(resourceName string) ResourceHandler {
|
|
if val, ok := resourcesHandler[resourceName]; ok {
|
|
return val
|
|
}
|
|
panic(fmt.Sprintf("no handler found for resource type %s", resourceName))
|
|
}
|