From a6e57fcc1f4fb3a9aff33054e6c4e30feb14f9f3 Mon Sep 17 00:00:00 2001 From: Oleh Prypin Date: Wed, 9 Aug 2023 20:31:03 +0200 Subject: [PATCH] Fix private URLs after previous commit --- spec/main_spec.cr | 6 +++--- src/nightly_link.cr | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/spec/main_spec.cr b/spec/main_spec.cr index 3276f2d..d21f259 100644 --- a/spec/main_spec.cr +++ b/spec/main_spec.cr @@ -81,7 +81,7 @@ describe "index" do describe kind do test "workflow" do resp, body = serve("#{prefix}/oprypin/nightly.link/blob/master/.github/workflows/upload-test.yml") - assert_redirect "/oprypin/nightly.link/workflows/upload-test/master" + assert_redirect "/oprypin/nightly.link/workflows/upload-test/master?preview" end test "artifact_download" do @@ -108,13 +108,13 @@ describe "index" do test "unicode url" do resp, body = serve("/?url=" + URI.encode_www_form("https://github.com/oprypin/nightly.link/blob/%D1%82%D0%B5%D1%81%D1%82/.github/workflows/build.yml")) - assert_redirect "/oprypin/nightly.link/workflows/build/%D1%82%D0%B5%D1%81%D1%82" + assert_redirect "/oprypin/nightly.link/workflows/build/%D1%82%D0%B5%D1%81%D1%82?preview" end test "private" do url = URI.encode_www_form("https://github.com/#{PRIVATE_REPO}/blob/SomeBranch/.github/workflows/SomeWorkflow.yml") resp, body = serve("/?url=#{url}&h=6c9bf24563d1896f5de321ce6043413f8c75ef16") - assert_redirect "/#{PRIVATE_REPO}/workflows/SomeWorkflow/SomeBranch?h=6c9bf24563d1896f5de321ce6043413f8c75ef16" + assert_redirect "/#{PRIVATE_REPO}/workflows/SomeWorkflow/SomeBranch?preview&h=6c9bf24563d1896f5de321ce6043413f8c75ef16" end test "bad url" do diff --git a/src/nightly_link.cr b/src/nightly_link.cr index c5750af..4760d43 100644 --- a/src/nightly_link.cr +++ b/src/nightly_link.cr @@ -220,7 +220,9 @@ class NightlyLink when Retour::NotFound messages << "Did not detect a link to a GitHub workflow file, actions run, or artifact." << gh_path else - new_path += "?h=#{h}" if h + if h + new_path += new_path.ends_with?("?preview") ? "&h=#{h}" : "?h=#{h}" + end raise HTTPException.redirect(new_path) end end