Skip to content

Commit da17386

Browse files
author
OJ
committed
https://github.com/yarax/swagger-to-graphql/issues/42
* Adding support for custom headers. * Improving the readme file.
1 parent c7169bb commit da17386

File tree

4 files changed

+30
-8
lines changed

4 files changed

+30
-8
lines changed

README.md

+19-1
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,31 @@ swagger-to-graphql --swagger=/path/to/swagger_schema.json > ./types.graphql
4242
```
4343
## Authorization
4444

45-
```
45+
Basic Auth example:
46+
```js
4647
...
4748
context: {
4849
GQLProxyBaseUrl: API_BASE_URL,
50+
headers: {
51+
Authorization: 'Basic YWRkOmJhc2ljQXV0aA==',
52+
"X-Custom": 'customValue'
53+
}
4954
BearerToken: req.get('authorization')
5055
},
5156
...
5257
```
5358

59+
Bearer Token example:
60+
```js
61+
...
62+
context: {
63+
GQLProxyBaseUrl: API_BASE_URL,
64+
headers: {
65+
Authorization: req.get('authorization'),
66+
"X-Custom": 'customValue'
67+
}
68+
},
69+
...
70+
```
71+
5472
<a href="https://github.com/yarax/swagger-to-graphql/blob/master/src/types.js#L3"> All context options </a>

lib/index.js

+8-4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ var _regenerator = require('babel-runtime/regenerator');
88

99
var _regenerator2 = _interopRequireDefault(_regenerator);
1010

11+
var _assign = require('babel-runtime/core-js/object/assign');
12+
13+
var _assign2 = _interopRequireDefault(_assign);
14+
1115
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
1216

1317
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
@@ -70,16 +74,16 @@ var schemaFromEndpoints = function schemaFromEndpoints(endpoints) {
7074

7175
var resolver = function resolver(endpoint) {
7276
return function () {
73-
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(_, args, opts) {
77+
var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(_, args, opts) {
7478
var req, res;
7579
return _regenerator2.default.wrap(function _callee$(_context) {
7680
while (1) {
7781
switch (_context.prev = _context.next) {
7882
case 0:
7983
req = endpoint.request(args, opts.GQLProxyBaseUrl);
8084

81-
if (opts.BearerToken) {
82-
req.headers.Authorization = opts.BearerToken;
85+
if (opts.headers) {
86+
req.headers = (0, _assign2.default)({}, req.headers, opts.headers);
8387
}
8488
_context.next = 4;
8589
return (0, _requestPromise2.default)(req);
@@ -120,7 +124,7 @@ var getQueriesFields = function getQueriesFields(endpoints, isMutation) {
120124
};
121125

122126
var build = function () {
123-
var _ref2 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2(swaggerPath) {
127+
var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(swaggerPath) {
124128
var swaggerSchema, endpoints, schema;
125129
return _regenerator2.default.wrap(function _callee2$(_context2) {
126130
while (1) {

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "swagger-to-graphql",
3-
"version": "1.1.7",
3+
"version": "1.2.0",
44
"author": "Roman Krivtsov",
55
"bin": "./bin/swagger2graphql",
66
"dependencies": {

src/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ const schemaFromEndpoints = (endpoints: Endpoints) => {
4545
const resolver = (endpoint: Endpoint) =>
4646
async (_, args: GraphQLParameters, opts: SwaggerToGraphQLOptions) => {
4747
const req = endpoint.request(args, opts.GQLProxyBaseUrl);
48-
if (opts.BearerToken) {
49-
req.headers.Authorization = opts.BearerToken;
48+
if (opts.headers) {
49+
req.headers = Object.assign({}, req.headers, opts.headers);
5050
}
5151
const res = await rp(req);
5252
return JSON.parse(res);

0 commit comments

Comments
 (0)