簡體   English   中英

使用Falcor設置請求標頭

[英]Setting request headers with Falcor

將記錄的請求標頭設置為Falcor HttpDataSource的方法對我來說並不奏效。 可能是因為Falcor對我來說是一個全新的概念,我只是在某個地方犯了一個愚蠢的錯誤。

文檔: https//github.com/Netflix/falcor-http-datasource#readme

我已經檢查了這些: 如何使用Falcor從客戶端發送auth令牌 https://github.com/ekosz/redux-falcor/issues/7

我還嘗試從onBeforeRequest設置請求標頭,但這沒有什么區別。 我發送到服務器的標頭將位於“access-control-request-headers”下。 我的意思是只有標題名稱可見,但值無處可見或無法訪問。

客戶端:

const model = new falcor.Model({
            source: new falcor.HttpDataSource('http://localhost:3001/api/users/model.json', {
                headers: {
                    'x-auth-token': "secret"
                }
            })
        });


model.get(["gamesById", ['5c4cb04fb7ccdd14a81cfe89'], ['name']])
            .then(function (response) {
                console.log(response);
            });

當我從服務器端登錄日志時,我得到了這個:

{ host: 'localhost:3001',
  connection: 'keep-alive',
  'access-control-request-method': 'GET',
  origin: 'http://localhost:63342',
  'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko
) Chrome/73.0.3683.86 Safari/537.36',
  'access-control-request-headers': 'x-auth-token',
  accept: '*/*',
  referer: 'http://localhost:63342/gamebase-backend/index.html?_ijt=mssfaptvvjpofa44aqm1n9dt1v',

  'accept-encoding': 'gzip, deflate, br',
  'accept-language': 'fi-FI,fi;q=0.9,en-US;q=0.8,en;q=0.7,la;q=0.6' }

當我記錄req.header('x-auth-token')我得到了undefined ,但是當我記錄這個req.header('access-control-request-headers'); 我得到了x-auth-token作為結果。

看起來你正在使用falcor軟件包中的HttpDataSource 嘗試安裝falcor-http-datasource並使用該版本。 與主要falcor軟件包捆綁在一起的HttpDataSource可能是舊版本。

例如

import falcor from 'falcor';
import HttpDataSource from 'falcor-http-datasource';

const model = new falcor.Model({
    source: new HttpDataSource('http://localhost:3001/api/users/model.json', {
        headers: {
            'x-auth-token': "secret"
        }
    })
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM