@@ -128,45 +128,51 @@ async function createReport(results) {
128
128
report += '\n' ;
129
129
}
130
130
131
+ /**
132
+ * @param {AuditFail } result
133
+ */
134
+ async function printAuditFail ( result ) {
135
+ let report = '' ;
136
+ report += '<details>\n' ;
137
+ report += `<summary>${ truncate ( result . reason ) } </summary>\n` ;
138
+ report += '\n' ;
139
+ report += '```json\n' ;
140
+ const res = result . response ;
141
+ /** @type {Record<string, string> } */
142
+ const headers = { } ;
143
+ for ( const [ key , val ] of res . headers . entries ( ) ) {
144
+ headers [ key ] = val ;
145
+ }
146
+ let text , json ;
147
+ try {
148
+ text = await res . text ( ) ;
149
+ json = JSON . parse ( text ) ;
150
+ } catch {
151
+ // noop
152
+ }
153
+ report +=
154
+ JSON . stringify (
155
+ {
156
+ status : res . status ,
157
+ statusText : res . statusText ,
158
+ headers,
159
+ body : json || text ,
160
+ } ,
161
+ null ,
162
+ ' ' ,
163
+ ) + '\n' ;
164
+ report += '```\n' ;
165
+ report += '</details>\n' ;
166
+ report += '\n' ;
167
+ return report ;
168
+ }
169
+
131
170
if ( grouped . warn . length ) {
132
171
report += `## Warnings\n` ;
133
172
report += `The server _SHOULD_ support these, but is not required.\n` ;
134
173
for ( const [ i , result ] of grouped . warn . entries ( ) ) {
135
- report += `${ i + 1 } . ${ escapeMarkdown ( result . name ) } <br />\n` ;
136
- report += '```\n' ;
137
- report += `${ truncate ( result . reason ) } \n` ;
138
- report += '```\n' ;
139
- report += '<details>\n' ;
140
- report += '<summary>Response</summary>\n' ;
141
- report += '\n' ;
142
- report += '```json\n' ;
143
- const res = result . response ;
144
- /** @type {Record<string, string> } */
145
- const headers = { } ;
146
- for ( const [ key , val ] of res . headers . entries ( ) ) {
147
- headers [ key ] = val ;
148
- }
149
- let text , json ;
150
- try {
151
- text = await res . text ( ) ;
152
- json = JSON . parse ( text ) ;
153
- } catch {
154
- // noop
155
- }
156
- report +=
157
- JSON . stringify (
158
- {
159
- status : res . status ,
160
- statusText : res . statusText ,
161
- headers,
162
- body : json || text ,
163
- } ,
164
- null ,
165
- ' ' ,
166
- ) + '\n' ;
167
- report += '```\n' ;
168
- report += '</details>\n' ;
169
- report += '\n\n' ;
174
+ report += `${ i + 1 } . ${ escapeMarkdown ( result . name ) } <br />\n\n` ;
175
+ report += await printAuditFail ( result ) ;
170
176
}
171
177
report += '\n' ;
172
178
}
@@ -175,10 +181,8 @@ async function createReport(results) {
175
181
report += `## Errors\n` ;
176
182
report += `The server _MUST_ support these.\n` ;
177
183
for ( const [ i , result ] of grouped . error . entries ( ) ) {
178
- report += `${ i + 1 } . ${ escapeMarkdown ( result . name ) } <br />\n` ;
179
- report += '```\n' ;
180
- report += `${ truncate ( result . reason ) } \n` ;
181
- report += '```\n' ;
184
+ report += `${ i + 1 } . ${ escapeMarkdown ( result . name ) } <br />\n\n` ;
185
+ report += await printAuditFail ( result ) ;
182
186
}
183
187
}
184
188
0 commit comments