diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ab51de161e..957f1909d59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,12 +15,13 @@ ### Bugfixes * **Alerting**: Add alert message to webhook notifications [#6807](https://github.com/grafana/grafana/issues/6807) +* **PNG Rendering**: Fix for server side rendering when using non default http addr bind and domain setting [#6813](https://github.com/grafana/grafana/issues/6813) # 4.0.1 (2016-12-02) -> **Notice** -4.0.0 had serious connection pooling issue when using a data source in proxy access. This bug caused lots of resource issues -due to too many connections/file handles on the data source backend. This problem is fixed in this release. +> **Notice** +4.0.0 had serious connection pooling issue when using a data source in proxy access. This bug caused lots of resource issues +due to too many connections/file handles on the data source backend. This problem is fixed in this release. ### Bugfixes * **Metrics**: Fixes nil pointer dereference on my arm build [#6749](https://github.com/grafana/grafana/issues/6749) diff --git a/packaging/publish/publish.sh b/packaging/publish/publish.sh index 291222a80e9..7619dd2e0f4 100755 --- a/packaging/publish/publish.sh +++ b/packaging/publish/publish.sh @@ -1,7 +1,6 @@ #! /usr/bin/env bash - -deb_ver=3.1.1-1470047149 -rpm_ver=3.1.1-1470047149 +deb_ver=4.0.0-1480439068 +rpm_ver=4.0.0-1480439068 wget https://grafanarel.s3.amazonaws.com/builds/grafana_${deb_ver}_amd64.deb diff --git a/pkg/components/renderer/renderer.go b/pkg/components/renderer/renderer.go index 19d50e40af8..69a0b197ec8 100644 --- a/pkg/components/renderer/renderer.go +++ b/pkg/components/renderer/renderer.go @@ -35,12 +35,12 @@ func RenderToPng(params *RenderOpts) (string, error) { executable = executable + ".exe" } - localAddress := "localhost" + localDomain := "localhost" if setting.HttpAddr != setting.DEFAULT_HTTP_ADDR { - localAddress = setting.HttpAddr + localDomain = setting.HttpAddr } - url := fmt.Sprintf("%s://%s:%s/%s", setting.Protocol, localAddress, setting.HttpPort, params.Path) + url := fmt.Sprintf("%s://%s:%s/%s", setting.Protocol, localDomain, setting.HttpPort, params.Path) binPath, _ := filepath.Abs(filepath.Join(setting.PhantomDir, executable)) scriptPath, _ := filepath.Abs(filepath.Join(setting.PhantomDir, "render.js")) @@ -57,7 +57,7 @@ func RenderToPng(params *RenderOpts) (string, error) { "width=" + params.Width, "height=" + params.Height, "png=" + pngPath, - "domain=" + setting.Domain, + "domain=" + localDomain, "renderKey=" + renderKey, } diff --git a/pkg/services/notifications/webhook.go b/pkg/services/notifications/webhook.go index de1303d8131..ac46a43f294 100644 --- a/pkg/services/notifications/webhook.go +++ b/pkg/services/notifications/webhook.go @@ -6,7 +6,6 @@ import ( "fmt" "io/ioutil" "net/http" - "time" "golang.org/x/net/context/ctxhttp" @@ -22,8 +21,10 @@ type Webhook struct { HttpMethod string } -var webhookQueue chan *Webhook -var webhookLog log.Logger +var ( + webhookQueue chan *Webhook + webhookLog log.Logger +) func initWebhookQueue() { webhookLog = log.New("notifications.webhook") @@ -47,24 +48,22 @@ func processWebhookQueue() { func sendWebRequestSync(ctx context.Context, webhook *Webhook) error { webhookLog.Debug("Sending webhook", "url", webhook.Url, "http method", webhook.HttpMethod) - client := &http.Client{ - Timeout: time.Duration(10 * time.Second), - } - if webhook.HttpMethod == "" { webhook.HttpMethod = http.MethodPost } request, err := http.NewRequest(webhook.HttpMethod, webhook.Url, bytes.NewReader([]byte(webhook.Body))) - if webhook.User != "" && webhook.Password != "" { - request.Header.Add("Authorization", util.GetBasicAuthHeader(webhook.User, webhook.Password)) - } - if err != nil { return err } - resp, err := ctxhttp.Do(ctx, client, request) + request.Header.Add("Content-Type", "application/json") + request.Header.Add("User-Agent", "Grafana") + if webhook.User != "" && webhook.Password != "" { + request.Header.Add("Authorization", util.GetBasicAuthHeader(webhook.User, webhook.Password)) + } + + resp, err := ctxhttp.Do(ctx, http.DefaultClient, request) if err != nil { return err } @@ -73,11 +72,11 @@ func sendWebRequestSync(ctx context.Context, webhook *Webhook) error { return nil } + defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { return err } - defer resp.Body.Close() webhookLog.Debug("Webhook failed", "statuscode", resp.Status, "body", string(body)) return fmt.Errorf("Webhook response status %v", resp.Status) diff --git a/scripts/trigger_windows_build.sh b/scripts/trigger_windows_build.sh index 521a365a299..9ba5c5eddb2 100755 --- a/scripts/trigger_windows_build.sh +++ b/scripts/trigger_windows_build.sh @@ -5,5 +5,5 @@ _token=$1 curl \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${_token}" \ - -X POST -d '{ "accountName": "Torkeldegaard", "projectSlug": "grafana","branch": "master","environmentVariables": {}}' \ + -X POST -d '{ "accountName": "Torkeldegaard", "projectSlug": "grafana","branch": "v4.0.x","environmentVariables": {}}' \ https://ci.appveyor.com/api/builds diff --git a/vendor/phantomjs/render.js b/vendor/phantomjs/render.js index 2f62bfce955..b9039f1f482 100644 --- a/vendor/phantomjs/render.js +++ b/vendor/phantomjs/render.js @@ -22,7 +22,7 @@ phantom.addCookie({ 'name': 'renderKey', 'value': params.renderKey, - 'domain': 'localhost', + 'domain': params.domain, }); page.viewportSize = {