블로그

java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens 본문

트러블슈팅

java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens

wooluck 2020. 3. 4. 19:50

java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens

 

문제

 페이스북 소셜 로그인을 위해 http로 접근 시 페이지를 https로 리다이렉트 하는 과정에서 에러가 발생했다.

 

해결

 로컬 접속을 고려하지 않은 결과 발생한 에러였고, 조건문을 통해 로컬에서 사용하는 port를 구분하도록 하였다.

 

기존 코드

if(location.protocol.indexOf('https') === -1) 
  location.protocol = 'https:';

 

변경 코드

if(location.protocol.indexOf('https') === -1 && location.port === "")
  location.protocol = 'https:';

 http와 https 접속의 기본 포트 (80, 443)일 경우 location.port는 빈 문자열을 가지게 되므로 port는 빈 문자열과 비교하였다.

Comments