1. Ruby On Rails를 이용하여 HTTP Header 값을 얻는 방법
・ Rails 버전은 5.2.2를 사용하고 있습니다.
・ 헤더를 확인하고 방법은, 아래의 포스트를 이용해주세요~
・ 예를 들어서, 클라이언트에서 Request 요청을 했을 때, x-user-name이라는 헤더명으로 BELLSTONE이라는 값을 보냈을 경우입니다.
1) 헤더 중 하나의 값을 얻을 경우
・ Request를 요청하였을 때에는 x-user-name 소문자와 -를 조합하여 보냈지만, 실제로 값을 사용할 때는 헤더명 앞에 HTTP와 대문자로 그리고, -는 _로 바꿔서 사용해야 합니다.
request.headers[:HTTP_X_USER_NAME]
#또는
request.headers["HTTP_X_USER_NAME"]
#결과
puts request.headers["HTTP_X_USER_NAME"] #=> BELLSTONE
puts request.headers[:HTTP_X_USER_NAME] #=> BELLSTONE
2) request.env로부터 얻을 경우
・ env라면 header 대신 env를 사용하면 됩니다.
request.env[:HTTP_X_USER_NAME]
3) 헤더 전체 내용을 로그를 통해서 볼 경우
・ 마지막으로, request의 헤더 내용을 전부 확인하고 싶으시면, 아래와 같이 입력하시면 됩니다.
request.headers.sort.map { |k, v| Rails.logger.debug "#{k}:#{v}" }
#결과
HTTP_HOST:localhost:3000
HTTP_IF_MODIFIED_SINCE:
HTTP_IF_NONE_MATCH:
HTTP_UPGRADE_INSECURE_REQUESTS:1
HTTP_USER_AGENT:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
HTTP_VERSION:HTTP/1.1
...
・ 그럼 끝!
'IT > RUBY' 카테고리의 다른 글
Ruby On Rails, Windows에서 Credentials 편집 방법 (0) | 2019.04.15 |
---|---|
Visual Studio Code, 루비를 편리하게 사용하는 방법 (0) | 2019.04.11 |
Ruby On Rails, 테이블 생성하기 (0) | 2019.04.09 |
Ruby On Rails, 서버 강제 종료 방법 (0) | 2019.04.08 |
Ruby On Rails, Devise를 이용한 회원관리! (0) | 2019.04.05 |