| 284 | type WebhookVerifier interface { |
| 285 | VerifySignature(payload []byte, signature string) error |
| 286 | } |
| 287 | |
| 288 | func NewHTTPServer( |
| 289 | port string, |
| 290 | baseURL *url.URL, |
| 291 | metadataStorer WebFeatureMetadataStorer, |
| 292 | wptMetricsStorer WPTMetricsStorer, |
| 293 | eventPublisher EventPublisher, |
| 294 | rawBytesDataCacher RawBytesDataCacher, |
| 295 | routeCacheOptions RouteCacheOptions, |
| 296 | userGitHubClientFactory UserGitHubClientFactory, |
| 297 | webhookVerifier WebhookVerifier, |
| 298 | vcsPermissionChecker VCSPermissionChecker, |
| 299 | preRequestValidationMiddlewares []func(http.Handler) http.Handler, |
| 300 | authMiddleware func(http.Handler) http.Handler) *http.Server { |
| 301 | // Create an instance of our handler which satisfies the generated interface |
| 302 | srv := &Server{ |
| 303 | metadataStorer: metadataStorer, |
| 304 | wptMetricsStorer: wptMetricsStorer, |
| 305 | eventPublisher: eventPublisher, |
| 306 | operationResponseCaches: initOperationResponseCaches(rawBytesDataCacher, routeCacheOptions), |
| 307 | baseURL: baseURL, |
| 308 | userGitHubClientFactory: userGitHubClientFactory, |
| 309 | rssRenderer: NewRSSRenderer(), |
| 310 | webhookVerifier: webhookVerifier, |
| 311 | vcsPermissionChecker: vcsPermissionChecker, |
| 312 | } |
| 313 | |