DataSourceProxy: Fix url validation error handling (#73087)

* DataSourceProxy: Fix url validation error handling

* DataSourceProxy: Add unit test for proxyDatasourceRequest

* DataSourceProxy: Fix lint error
This commit is contained in:
Ricardo Christmann
2023-08-16 11:58:41 +02:00
committed by GitHub
parent 4f2dd94bce
commit 8ec4c1bdc8
2 changed files with 84 additions and 1 deletions

View File

@@ -122,7 +122,8 @@ func (p *DataSourceProxyService) proxyDatasourceRequest(c *contextmodel.ReqConte
proxy, err := pluginproxy.NewDataSourceProxy(ds, plugin.Routes, c, proxyPath, p.Cfg, p.HTTPClientProvider,
p.OAuthTokenService, p.DataSourcesService, p.tracer)
if err != nil {
if errors.Is(err, datasource.URLValidationError{}) {
var urlValidationError datasource.URLValidationError
if errors.As(err, &urlValidationError) {
c.JsonApiErr(http.StatusBadRequest, fmt.Sprintf("Invalid data source URL: %q", ds.URL), err)
} else {
c.JsonApiErr(http.StatusInternalServerError, "Failed creating data source proxy", err)