Elm의 HTTP 응답에서 사용자 지정 헤더 읽기

야거

Http.expectStringResponse본문 (또는 오류)과 함께 HTTP 응답 메타 데이터를 전달하는 데 사용 하고 있습니다. 그리고 Dict.keys metadata.headers콘솔에 로그인합니다 . 로그에 따르면 Elm은 모든 헤더를 전달하지 않습니다. 첨부 된 이미지에서 볼 수 있듯이 dev-tools 네트워크 탭의 헤더 세트는 로그에있는 헤더의 상위 세트입니다. 문서에서 이에 대한 설명을 찾을 수 없습니다. Elm 커뮤니티가 빛을 발할 수 있기를 바랍니다.

여기에 이미지 설명 입력

최신 정보

glennsl과 Gareth Latty가 지적했듯이 이것은 CORS와 관련이 있으며 Elm과 관련이 없습니다. XMLHttpRequest동일한 결과를 생성합니다.

가레스 라티

나는 이것을 재현 할 수 없습니다. 있습니다 반환-특히되지 않습니다 일부 헤더 Set-CookieSet-Cookie2적어도 지금까지 느릅 나무에 관한 한,하지만 당신의 예제에있는 모든 사람이되어야한다.

Http의 헤더 구문 분석에 대한 구현을 볼 수 있습니다 .

_Http_parseHeaders(xhr.getAllResponseHeaders())

...

function _Http_parseHeaders(rawHeaders)
{
    if (!rawHeaders)
    {
        return __Dict_empty;
    }

    var headers = __Dict_empty;
    var headerPairs = rawHeaders.split('\r\n');
    for (var i = headerPairs.length; i--; )
    {
        var headerPair = headerPairs[i];
        var index = headerPair.indexOf(': ');
        if (index > 0)
        {
            var key = headerPair.substring(0, index);
            var value = headerPair.substring(index + 2);

            headers = A3(__Dict_update, key, function(oldValue) {
                return __Maybe_Just(__Maybe_isJust(oldValue)
                    ? value + ', ' + oldValue.a
                    : value
                );
            }, headers);
        }
    }
    return headers;
}

Elm에서 볼 수 있지만 필터링이 발생하지 않습니다.

getAllResponseHeaders() 앞서 언급 한 두 개의 헤더를 필터링합니다.

ByteString(그 필드 이름을 제외한 상기 응답의 헤더의 모든 표현 Set-Cookie또는 Set-Cookie2) CRLF로 구분하거나, null응답이 수신되지 않은 경우. 네트워크 오류가 발생하면 빈 문자열이 반환됩니다.

보시다시피 상황에 따라 브라우저가 모든 헤더를 반환하지 않을 가능성이 있습니다. 더 많은 정보를 제공하려면 더 많은 정보 (이상적으로는 문제를 재현 할 수있는 예)가 필요합니다. glennsl의 의견에서 제안 했듯이 이것은 CORS 문제 일 가능성이 높습니다 . getAllResponsHeaders()해당 환경에서 직접 사용 하고 방정식에서 Elm을 제거하는 것이 좋습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Angular 2에서 사용자 지정 HTTP 응답 헤더 읽기

분류에서Dev

.Net의 모든 Swagger 응답에 사용자 지정 헤더 추가

분류에서Dev

이미지 오류 처리기에서 응답 헤더 읽기

분류에서Dev

사용자 지정 필터에서 HTTP 헤더 검색

분류에서Dev

ZEND_HTTP_CLIENT로 사용자 지정 헤더 보내기

분류에서Dev

Play 2.5 : 사용자 지정 http 작업에서 응답 본문 가져 오기

분류에서Dev

각도 $ http 응답 사용자 지정 헤더에 액세스하는 방법은 무엇입니까?

분류에서Dev

Flutter http post 요청에서 사용자 정의 헤더를 만드는 방법

분류에서Dev

nginx X-Accel-Redirect에 사용자 지정 HTTP 헤더 추가

분류에서Dev

get header () volley에서 Authorization 헤더가있는 사용자 정의 헤더를 추가 할 때 성공 응답을받지 못함

분류에서Dev

사용자 정의보기가 UItableview의 헤더에 맞지 않습니다.

분류에서Dev

스칼라보기에서 사용자 정의 헤더를 읽을 수없는 이유는 무엇입니까?

분류에서Dev

http 응답 헤더 정보

분류에서Dev

Websphere 8에서 작동하지 않는 JAX-RPC 요청의 사용자 정의 http 헤더

분류에서Dev

웹 API 컨트롤러에서 각도 $ http로 사용자 지정 헤더 가져 오기

분류에서Dev

하나의 템플릿 파일에 사용자 정의 HTTP 헤더 추가 Wordpress

분류에서Dev

Genesis : 사용자 정의 헤더 기능에 탐색 추가

분류에서Dev

serverless.yml 파일에서 기본 http 응답 템플릿을 어떻게 사용자 정의합니까?

분류에서Dev

func에 정의 된 테이블 헤더 사용자 지정

분류에서Dev

Opencart 정보 페이지에 대한 사용자 정의 헤더

분류에서Dev

Angular 8의 http 응답에서 응답 헤더를 볼 수 없습니다.

분류에서Dev

사용자 지정 서버를 사용하지 않고 Next.js에서 사용자 지정 HTTP 응답 헤더를 설정하는 방법은 무엇입니까?

분류에서Dev

HTTP 응답에서 헤더 가져 오기

분류에서Dev

Firefox Addon에서 HTTP 응답 헤더 가져 오기

분류에서Dev

Electron-BrowserWindow의 loadUrl ()에서 HTTP 응답 헤더 검색

분류에서Dev

Angular 8에서 http POST의 응답 헤더를 얻는 방법

분류에서Dev

HTML의 응답 헤더에 대한 jmeter 정규식 추출기

분류에서Dev

Nginx-액세스 HTTP 사용자 정의 헤더 v2

분류에서Dev

공용 폴더의 파일에 대한 HTTP 헤더 설정

Related 관련 기사

  1. 1

    Angular 2에서 사용자 지정 HTTP 응답 헤더 읽기

  2. 2

    .Net의 모든 Swagger 응답에 사용자 지정 헤더 추가

  3. 3

    이미지 오류 처리기에서 응답 헤더 읽기

  4. 4

    사용자 지정 필터에서 HTTP 헤더 검색

  5. 5

    ZEND_HTTP_CLIENT로 사용자 지정 헤더 보내기

  6. 6

    Play 2.5 : 사용자 지정 http 작업에서 응답 본문 가져 오기

  7. 7

    각도 $ http 응답 사용자 지정 헤더에 액세스하는 방법은 무엇입니까?

  8. 8

    Flutter http post 요청에서 사용자 정의 헤더를 만드는 방법

  9. 9

    nginx X-Accel-Redirect에 사용자 지정 HTTP 헤더 추가

  10. 10

    get header () volley에서 Authorization 헤더가있는 사용자 정의 헤더를 추가 할 때 성공 응답을받지 못함

  11. 11

    사용자 정의보기가 UItableview의 헤더에 맞지 않습니다.

  12. 12

    스칼라보기에서 사용자 정의 헤더를 읽을 수없는 이유는 무엇입니까?

  13. 13

    http 응답 헤더 정보

  14. 14

    Websphere 8에서 작동하지 않는 JAX-RPC 요청의 사용자 정의 http 헤더

  15. 15

    웹 API 컨트롤러에서 각도 $ http로 사용자 지정 헤더 가져 오기

  16. 16

    하나의 템플릿 파일에 사용자 정의 HTTP 헤더 추가 Wordpress

  17. 17

    Genesis : 사용자 정의 헤더 기능에 탐색 추가

  18. 18

    serverless.yml 파일에서 기본 http 응답 템플릿을 어떻게 사용자 정의합니까?

  19. 19

    func에 정의 된 테이블 헤더 사용자 지정

  20. 20

    Opencart 정보 페이지에 대한 사용자 정의 헤더

  21. 21

    Angular 8의 http 응답에서 응답 헤더를 볼 수 없습니다.

  22. 22

    사용자 지정 서버를 사용하지 않고 Next.js에서 사용자 지정 HTTP 응답 헤더를 설정하는 방법은 무엇입니까?

  23. 23

    HTTP 응답에서 헤더 가져 오기

  24. 24

    Firefox Addon에서 HTTP 응답 헤더 가져 오기

  25. 25

    Electron-BrowserWindow의 loadUrl ()에서 HTTP 응답 헤더 검색

  26. 26

    Angular 8에서 http POST의 응답 헤더를 얻는 방법

  27. 27

    HTML의 응답 헤더에 대한 jmeter 정규식 추출기

  28. 28

    Nginx-액세스 HTTP 사용자 정의 헤더 v2

  29. 29

    공용 폴더의 파일에 대한 HTTP 헤더 설정

뜨겁다태그

보관