router.GET("/someDataFromReader", func(c *gin.Context) {
    response, err := http.Get("https://raw.githubusercontent.com/gin-gonic/logo/master/color.png")
    if err != nil || response.StatusCode != http.StatusOK {
      c.Status(http.StatusServiceUnavailable)
    contentLength := response.ContentLength
    contentType := response.Header.Get("Content-Type")
    extraHeaders := map[string]string{
      "Content-Disposition": `attachment; filename="gopher.png"`,
    c.DataFromReader(http.StatusOK, contentLength, contentType, reader, extraHeaders)