Commit 18a8d3d
authored
extproc: implement ClientFilter and ClientFilterBuilder interface (#9086)
This PR is part of implementing [A93:
xds-ext-proc](https://github.com/grpc/proposal/blob/master/A93-xds-ext-proc.md)
This PR adds the builder that implements the
[ClientFilter](https://github.com/grpc/grpc-go/blob/ac4aa01bd485f3a574469d7985cf55e79abf44a9/internal/xds/httpfilter/httpfilter.go#L80)
and
[ClientFilterBuilder](https://github.com/grpc/grpc-go/blob/ac4aa01bd485f3a574469d7985cf55e79abf44a9/internal/xds/httpfilter/httpfilter.go#L71)
interface. That includes creating the interceptor config from the base
and the override config. It also includes making the ext_proc channel.
THis PR has a placeholder function for converting grpcService to channel
The function will be implemented later when implementing [gRFC
A102](https://github.com/grpc/proposal/A102-xds-grpc-service.md).
The `interceptor` struct has a `resolver.ClientInterceptor` embedded for
now, but that will be removed in a later PR when we implement the
`resolver.ClientInterceptor` interface. Since the filter will not be
registered and no one is calling the `resolver.ClientInterceptor`
function fro extproc filter , it will not panic.
#ext-proc-a93
RELEASE NOTES: None1 parent db35da8 commit 18a8d3d
3 files changed
Lines changed: 412 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
156 | 156 | | |
157 | 157 | | |
158 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
0 commit comments