1
0
mirror of synced 2025-12-23 03:44:00 -05:00

Revert "account for non-object example values in rest docs" (#33468)

This commit is contained in:
Rachael Sewell
2022-12-12 12:14:36 -08:00
committed by GitHub
parent af79c968cd
commit 2fd7e0f451

View File

@@ -8,6 +8,7 @@ import { useMainContext } from 'components/context/MainContext'
type CodeExamples = Record<string, any>
/*
Generates a curl example
For example:
curl \
-X POST \
@@ -23,11 +24,6 @@ export function getShellExample(operation: Operation, codeSample: CodeSample) {
? codeSample.response.contentType
: 'application/vnd.github+json'
const contentTypeHeader =
codeSample?.request?.contentType === 'application/octet-stream'
? '-H "Content-Type: application/octet-stream"'
: ''
let requestPath = codeSample?.request?.parameters
? parseTemplate(operation.requestPath).expand(codeSample.request.parameters)
: operation.requestPath
@@ -50,22 +46,14 @@ export function getShellExample(operation: Operation, codeSample: CodeSample) {
const CURL_CONTENT_TYPE_MAPPING: { [key: string]: string } = {
'application/x-www-form-urlencoded': '--data-urlencode',
'multipart/form-data': '--form',
'application/octet-stream': '--data-binary',
}
const contentType = codeSample.request.contentType
if (codeSample.request.contentType in CURL_CONTENT_TYPE_MAPPING) {
requestBodyParams = ''
// Most of the time the example body parameters have a name and value
// and are included in an object. But, some cases are a single value
// and the type is a string.
if (typeof codeSample.request.bodyParameters === 'object') {
const paramNames = Object.keys(codeSample.request.bodyParameters)
paramNames.forEach((elem) => {
requestBodyParams = `${requestBodyParams} ${CURL_CONTENT_TYPE_MAPPING[contentType]} "${elem}=${codeSample.request.bodyParameters[elem]}"`
})
} else {
requestBodyParams = `${CURL_CONTENT_TYPE_MAPPING[contentType]} "${codeSample.request.bodyParameters}"`
}
const paramNames = Object.keys(codeSample.request.bodyParameters)
paramNames.forEach((elem) => {
requestBodyParams = `${requestBodyParams} ${CURL_CONTENT_TYPE_MAPPING[contentType]} "${elem}=${codeSample.request.bodyParameters[elem]}"`
})
}
}
@@ -83,7 +71,6 @@ export function getShellExample(operation: Operation, codeSample: CodeSample) {
const args = [
operation.verb !== 'get' && `-X ${operation.verb.toUpperCase()}`,
`-H "Accept: ${defaultAcceptHeader}" \\\n ${authHeader}${apiVersionHeader}`,
contentTypeHeader,
`${operation.serverUrl}${requestPath}`,
requestBodyParams,
].filter(Boolean)
@@ -114,10 +101,7 @@ export function getGHExample(operation: Operation, codeSample: CodeSample) {
requestPath += requiredQueryParams ? `?${requiredQueryParams}` : ''
let requestBodyParams = ''
// Most of the time the example body parameters have a name and value
// and are included in an object. But, some cases are a single value
// and the type is a string.
if (typeof codeSample?.request?.bodyParameters === 'object') {
if (codeSample?.request?.bodyParameters) {
const bodyParamValues = Object.values(codeSample.request.bodyParameters)
// GitHub CLI does not support sending Objects and arrays using the -F or
// -f flags. That support may be added in the future. It is possible to
@@ -136,8 +120,6 @@ export function getGHExample(operation: Operation, codeSample: CodeSample) {
}
})
.join('\\\n ')
} else {
requestBodyParams = `-f '${codeSample.request.bodyParameters}'`
}
const args = [
operation.verb !== 'get' && `--method ${operation.verb.toUpperCase()}`,
@@ -165,15 +147,9 @@ export function getGHExample(operation: Operation, codeSample: CodeSample) {
*/
export function getJSExample(operation: Operation, codeSample: CodeSample) {
const parameters =
// Most of the time the example body parameters have a name and value
// and are included in an object. But, some cases are a single value
// and the type is a string.
typeof codeSample.request.bodyParameters === 'object'
? codeSample.request
? { ...codeSample.request.parameters, ...codeSample.request.bodyParameters }
: {}
: { ...codeSample.request.parameters, data: codeSample.request.bodyParameters }
const parameters = codeSample.request
? { ...codeSample.request.parameters, ...codeSample.request.bodyParameters }
: {}
let queryParameters = ''