... | @@ -134,7 +134,7 @@ classDiagram |
... | @@ -134,7 +134,7 @@ classDiagram |
|
}
|
|
}
|
|
|
|
|
|
class HookLoader{
|
|
class HookLoader{
|
|
+ LoadAll()
|
|
+ []any LoadAll()
|
|
}
|
|
}
|
|
|
|
|
|
class HookExecutor{
|
|
class HookExecutor{
|
... | @@ -266,7 +266,7 @@ We need to prepare the list of callouts supported by a given application. They a |
... | @@ -266,7 +266,7 @@ We need to prepare the list of callouts supported by a given application. They a |
|
|
|
|
|
```go
|
|
```go
|
|
var (
|
|
var (
|
|
BeforeForwardToKeaOverHTTPCalloutType reflect.Type = reflect.TypeOf((*hooks.BeforeForwardToKeaOverHTTPCallout)(nil)).Elem()
|
|
beforeForwardToKeaOverHTTPCalloutType reflect.Type = reflect.TypeOf((*hooks.BeforeForwardToKeaOverHTTPCallout)(nil)).Elem()
|
|
)
|
|
)
|
|
```
|
|
```
|
|
|
|
|
... | @@ -280,7 +280,7 @@ The hook module provides an implementation of the hook executor. The constructor |
... | @@ -280,7 +280,7 @@ The hook module provides an implementation of the hook executor. The constructor |
|
```go
|
|
```go
|
|
func newHookExecutor() *hooks.HookExecutor {
|
|
func newHookExecutor() *hooks.HookExecutor {
|
|
executor := hooks.NewHookExecutor([]reflect.Type{
|
|
executor := hooks.NewHookExecutor([]reflect.Type{
|
|
BeforeForwardToKeaOverHTTPCalloutType,
|
|
beforeForwardToKeaOverHTTPCalloutType,
|
|
})
|
|
})
|
|
return executor
|
|
return executor
|
|
}
|
|
}
|
... | @@ -304,7 +304,7 @@ The hook manager doesn't provide the implementation of the callouts. It only def |
... | @@ -304,7 +304,7 @@ The hook manager doesn't provide the implementation of the callouts. It only def |
|
|
|
|
|
```go
|
|
```go
|
|
func (hm *HookManager) OnBeforeForwardToKeaOverHTTP(in *agentapi.ForwardToKeaOverHTTPReq) {
|
|
func (hm *HookManager) OnBeforeForwardToKeaOverHTTP(in *agentapi.ForwardToKeaOverHTTPReq) {
|
|
hm.executor.CallSequential(BeforeForwardToKeaOverHTTPCalloutType, func(rawCallout interface{}) {
|
|
hm.executor.CallSequential(beforeForwardToKeaOverHTTPCalloutType, func(rawCallout interface{}) {
|
|
callout := rawCallout.(hooks.BeforeForwardToKeaOverHTTPCallout)
|
|
callout := rawCallout.(hooks.BeforeForwardToKeaOverHTTPCallout)
|
|
callout.OnBeforeForwardToKeaOverHTTP(in)
|
|
callout.OnBeforeForwardToKeaOverHTTP(in)
|
|
})
|
|
})
|
... | | ... | |