summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAsh McKenzie <amckenzie@gitlab.com>2019-02-11 15:05:00 +1100
committerAsh McKenzie <amckenzie@gitlab.com>2019-02-15 09:29:52 +1100
commit1cfa3c76a151a1c7ddf2099e3547fe1f5d691c25 (patch)
tree8076d6a5b16d1ff2b17e452b308fd7dec0a353b9 /lib
parent6dab9ce34308ac735672c48dd199df7f57f1cce7 (diff)
downloadgitlab-ce-1cfa3c76a151a1c7ddf2099e3547fe1f5d691c25.tar.gz
Include expires_in for LFS authentication payload57353-git-push-fails-on-large-lfs-files-where-the-push-take-a-long-time
When using git-lfs with SSH we weren't passing in the expires_header header which is allows large transfers to succeed in the event the current default of 30 mins expires. https://github.com/git-lfs/git-lfs/blob/master/docs/api/server-discovery.md#ssh
Diffstat (limited to 'lib')
-rw-r--r--lib/api/internal.rb2
-rw-r--r--lib/gitlab/lfs_token.rb5
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/api/internal.rb b/lib/api/internal.rb
index ede84dba42d..b44ef2a6ea4 100644
--- a/lib/api/internal.rb
+++ b/lib/api/internal.rb
@@ -117,7 +117,7 @@ module API
raise ActiveRecord::RecordNotFound.new("No key_id or user_id passed!")
end
- Gitlab::LfsToken.new(actor).for_gitlab_shell(project.http_url_to_repo)
+ Gitlab::LfsToken.new(actor).authentication_payload(project.http_url_to_repo)
end
# rubocop: enable CodeReuse/ActiveRecord
diff --git a/lib/gitlab/lfs_token.rb b/lib/gitlab/lfs_token.rb
index 5eefc3c0d7a..31e6fc9d8c7 100644
--- a/lib/gitlab/lfs_token.rb
+++ b/lib/gitlab/lfs_token.rb
@@ -47,11 +47,12 @@ module Gitlab
user? ? :lfs_token : :lfs_deploy_token
end
- def for_gitlab_shell(repository_http_path)
+ def authentication_payload(repository_http_path)
{
username: actor_name,
lfs_token: token,
- repository_http_path: repository_http_path
+ repository_http_path: repository_http_path,
+ expires_in: DEFAULT_EXPIRE_TIME
}
end