Skip to content

Commit b13f7e5

Browse files
authored
fix: create a response description if one is missing (#3)
1 parent 66f1f68 commit b13f7e5

File tree

5 files changed

+25
-0
lines changed

5 files changed

+25
-0
lines changed

package-lock.json

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
"release": "npx conventional-changelog-cli -i CHANGELOG.md -s && git add CHANGELOG.md"
3838
},
3939
"dependencies": {
40+
"@readme/http-status-codes": "^7.2.0",
4041
"js-yaml": "^4.1.0",
4142
"jsonc-parser": "3.2.0",
4243
"lodash.camelcase": "^4.3.0",

src/index.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ const {
88
promises: { writeFile, readFile },
99
} = require('fs');
1010

11+
const { getStatusCodeMessage } = require('@readme/http-status-codes');
1112
const { dump } = require('js-yaml');
1213
const jsonc = require('jsonc-parser');
1314
const camelCase = require('lodash.camelcase');
@@ -552,6 +553,16 @@ function parseResponseFromExamples(responses, responseHeaders) {
552553
code = 'default';
553554
}
554555

556+
// The OpenAPI spec requires that `description` be present on responses with content so
557+
// we'll make it match the message that cooresponds to the HTTP status code.
558+
if (!description) {
559+
try {
560+
description = getStatusCodeMessage({ code });
561+
} catch (err) {
562+
description = code;
563+
}
564+
}
565+
555566
if (code in statusMap) {
556567
if (!(language in statusMap[code].bodies)) {
557568
statusMap[code].bodies[language] = [];

test/resources/output/ResponsesWithoutHTTPStatusCode.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ paths:
2424
avatar: https://cdn.fakercloud.com/avatars/nelsonjoyce_128.jpg
2525
responses:
2626
default:
27+
description: default
2728
headers:
2829
Server:
2930
schema:

types/globals.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
declare module '@readme/http-status-codes';

0 commit comments

Comments
 (0)