Revert "account for non-object example values in rest docs" (#33468)
This commit is contained in:
@@ -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 = ''
|
||||
|
||||
|
||||
Reference in New Issue
Block a user