사용자 정의 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
'programing tip' 카테고리의 다른 글
SVN은 커밋 된 코드에서 패치를 생성합니까? (0) | 2020.11.14 |
---|---|
컨트롤러를 전역으로 만들지 않고 Angular의 단위 테스트 지시어 컨트롤러 (0) | 2020.11.14 |
Groovy-객체를 JSON 문자열로 변환 (0) | 2020.11.14 |
C0103 메시지를 중지하도록 PyLint에 "상수가 아닌 변수입니다"라고 어떻게 말합니까? (0) | 2020.11.14 |
버퍼 오버 플로우를 활성화하기 위해 gcc 컴파일러 최적화를 끄는 방법 (0) | 2020.11.14 |