From e9c2628220ed3a9d82cba31e7c9d2654c20235c8 Mon Sep 17 00:00:00 2001
From: Grzegorz Bizon <grzesiek.bizon@gmail.com>
Date: Mon, 11 Jan 2016 10:01:18 +0100
Subject: [PATCH] Check if file exists in metadata in download action

---
 app/controllers/projects/artifacts_controller.rb | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/app/controllers/projects/artifacts_controller.rb b/app/controllers/projects/artifacts_controller.rb
index f88d866febc..a1f82ddd9c5 100644
--- a/app/controllers/projects/artifacts_controller.rb
+++ b/app/controllers/projects/artifacts_controller.rb
@@ -24,9 +24,14 @@ class Projects::ArtifactsController < Projects::ApplicationController
   end
 
   def file
-    # TODO, check if file exists in metadata
-    render json: { repository: build.artifacts_file.path,
-                   path: Base64.encode64(params[:path].to_s) }
+    file = build.artifacts_metadata_path(params[:path])
+
+    if file.exists?
+      render json: { repository: build.artifacts_file.path,
+                     path: Base64.encode64(file.path) }
+    else
+      render json: {}, status: 404
+    end
   end
 
   private
-- 
GitLab