Welcome to mirror list, hosted at ThFree Co, Russian Federation.

devise_failure.rb « gitlab « lib - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: a78fde9d7829136ba49633de4cb56a0bcabf65b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
module Gitlab
  class DeviseFailure < Devise::FailureApp
    protected

    # Override `Devise::FailureApp#request_format` to handle a special case
    #
    # This tells Devise to handle an unauthenticated `.zip` request as an HTML
    # request (i.e., redirect to sign in).
    #
    # Otherwise, Devise would respond with a 401 Unauthorized with
    # `Content-Type: application/zip` and a response body in plaintext, and the
    # browser would freak out.
    #
    # See https://gitlab.com/gitlab-org/gitlab-ce/issues/12944
    def request_format
      if request.format == :zip
        Mime::Type.lookup_by_extension(:html).ref
      else
        super
      end
    end
  end
end