programing tip

사용자 정의 http 헤더를 어떻게 추가합니까?

itbloger 2020. 11. 14. 09:58
반응형

사용자 정의 http 헤더를 어떻게 추가합니까?


현재 Heroku에서 호스팅되는 Ruby on Rails 앱에 사용자 지정 http 헤더를 추가하려고합니다.


사용하다:

response.headers['HEADER NAME'] = 'HEADER VALUE'

특정 또는 모든 응답에 추가해야하는지 여부에 따라 특정 메서드 또는 애플리케이션 컨트롤러의 before_filter 메서드에 추가합니다.

Rails 5 업데이트-2018 년 2 월 24 일

@BrentMatzelle이 주석에서 언급했듯이 Rails 5의 경우 :

response.set_header('HEADER NAME', 'HEADER VALUE')

Rails 5에서는 다음 솔루션이 작동합니다 (동작 방법).

response.set_header("Header-Name", "Header value")

참조 : edgeapi


레일 4에서 application.rb 또는 각 환경 파일에 응답 헤더를 설정합니다. 이 작업을 마치면 컨트롤러에서 필요한 곳이면 어디에서나 헤더 값을 재정의 할 수 있습니다. 자세한 내용은이 URL 을 참조하십시오.


Rails 3 이상에서는 간단히

headers['Header-Name'] = 'header value'

컨트롤러에서 작동합니다. 이 짝수 권장되는 방법; 문서 에 따르면 ,

응답은 대부분 Ruby on Rails 프레임 워크 구현 세부 사항이며 컨트롤러에서 직접 사용해서는 안됩니다. 컨트롤러는 ActionController::Base대신에 정의 된 메서드를 사용해야합니다 . 당신이 HTTP 응답의 내용 MIME 유형을 설정하려는 경우 예를 들어, 사용하는 ActionController::Base#headers대신 Response#headers.

그리고 이것은 Rails 6.0에서도 마찬가지입니다 .


Rails 4에서는 다음과 같이 작동합니다.

class API::V1::BaseController 
  after_action :set_version_header

  protected
    def set_version_header
        response.headers['X-ComanyName-Api-Version'] = 'V1'
    end
end

참고 URL : https://stackoverflow.com/questions/16654052/how-do-you-add-a-custom-http-header

반응형