Задание заголовка Content-Type для application / x-www-form-urlencoded с использованием библиотеки apollo-datasource-rest - PullRequest
0 голосов
/ 12 февраля 2019

У кого-нибудь были проблемы с установкой заголовка Content-Type с помощью apollo-datasource-rest?Я пытаюсь кодировать для application/x-www-form-urlencoded, и мой REST API все еще не видит параметры:

class AuthAPI extends RESTDataSource {
  ...

  willSendRequest( request ) {
    request.headers.set( 'X-API-KEY', this.apiKey )
    request.headers.set( 'Content-Type', 'application/x-www-form-urlencoded')
    console.log( request.headers )
    console.log( request.body )
  }

  async getToken( params ) {
    return this
      .post( apiEndpoints.auth.token, params )
      .catch( err => handleError( err ))
  }
}

Вывод:

// console.log( request.headers )
Headers {
  [Symbol(map)]: [Object: null prototype] {
    'X-API-KEY': [ '1234567890...' ],
    'Content-Type': [ 'application/x-www-form-urlencoded' ]
  }
}

// console.log( request.body )
{
  identifier: 'my.name@domain.com',
  format: 'json',
  secret: 'P@55w0rd'
}

Похоже, тело запроса (POST)правильно отформатирован и заголовки установлены правильно.Использование тех же учетных данных и заголовков через почтальон возвращает успешный результат, но не по этой причине по какой-то причине:

// response
{ success: 0,
  error:
    { status: 400,
      message: 'Missing username or password',
      code: 117
    }
}
...