diff --git a/packages/openapi-generator/package.json b/packages/openapi-generator/package.json index 2670f09cf5..07fecccc83 100644 --- a/packages/openapi-generator/package.json +++ b/packages/openapi-generator/package.json @@ -44,7 +44,7 @@ "@sap-cloud-sdk/generator-common": "workspace:^", "@sap-cloud-sdk/openapi": "workspace:^", "@sap-cloud-sdk/util": "workspace:^", - "content-type": "^1.0.5", + "content-type": "^2.0.0", "js-yaml": "^4.1.1", "openapi-types": "^12.1.3", "swagger2openapi": "^7.0.4" @@ -53,7 +53,6 @@ "@apidevtools/json-schema-ref-parser": "^14.1.1", "@jest/globals": "^30.3.0", "@sap-cloud-sdk/test-util-internal": "workspace:^", - "@types/content-type": "^1.1.9", "@types/js-yaml": "^4.0.9", "depcheck": "^1.4.7", "memfs": "^4.57.2", diff --git a/packages/openapi-generator/src/parser/media-type.spec.ts b/packages/openapi-generator/src/parser/media-type.spec.ts index 66719090e9..7435bcfb25 100644 --- a/packages/openapi-generator/src/parser/media-type.spec.ts +++ b/packages/openapi-generator/src/parser/media-type.spec.ts @@ -475,21 +475,23 @@ describe('parseTopLevelMediaType', () => { }); }); - it('throws error with malformed content type', async () => { + it('parses malformed content type leniently (strips bad params)', async () => { const schema = { type: 'object', properties: { file: { type: 'string', format: 'binary' } } }; const encoding = { file: { contentType: 'image/png;;invalid' } }; - const refs = await createTestRefs(); + const result = parseTopLevelMediaType( + createMultipartFormContent(schema, encoding), + await createTestRefs(), + defaultOptions + ); - expect(() => - parseTopLevelMediaType( - createMultipartFormContent(schema, encoding), - refs, - defaultOptions - ) - ).toThrow(/invalid content type.*image\/png;;invalid.*file/i); + expect(result?.encoding?.file).toEqual({ + contentType: 'image/png;;invalid', + isImplicit: false, + parsedContentTypes: [{ type: 'image/png', parameters: {} }] + }); }); it('handles wildcard content types correctly', async () => { @@ -509,7 +511,7 @@ describe('parseTopLevelMediaType', () => { }); }); - it('throws error with completely invalid content type format', async () => { + it('parses completely invalid content type leniently', async () => { const schema = { type: 'object', properties: { attachment: { type: 'string', format: 'binary' } } @@ -517,17 +519,19 @@ describe('parseTopLevelMediaType', () => { const encoding = { attachment: { contentType: 'not-a-valid-content-type-at-all' } }; - const refs = await createTestRefs(); - - expect(() => - parseTopLevelMediaType( - createMultipartFormContent(schema, encoding), - refs, - defaultOptions - ) - ).toThrow( - /invalid content type.*not-a-valid-content-type-at-all.*attachment/i + const result = parseTopLevelMediaType( + createMultipartFormContent(schema, encoding), + await createTestRefs(), + defaultOptions ); + + expect(result?.encoding?.attachment).toEqual({ + contentType: 'not-a-valid-content-type-at-all', + isImplicit: false, + parsedContentTypes: [ + { type: 'not-a-valid-content-type-at-all', parameters: {} } + ] + }); }); }); diff --git a/packages/openapi-generator/src/parser/media-type.ts b/packages/openapi-generator/src/parser/media-type.ts index 6455798389..12b16a6b5d 100644 --- a/packages/openapi-generator/src/parser/media-type.ts +++ b/packages/openapi-generator/src/parser/media-type.ts @@ -1,5 +1,5 @@ -import { createLogger, ErrorWithCause } from '@sap-cloud-sdk/util'; -import { parse as parseContentType, type ParsedMediaType } from 'content-type'; +import { createLogger } from '@sap-cloud-sdk/util'; +import { parse as parseContentType, type ContentType } from 'content-type'; import { parseSchema } from './schema'; import type { OpenAPIV3 } from 'openapi-types'; import type { OpenApiMediaTypeObject, OpenApiSchema } from '../openapi-types'; @@ -19,36 +19,16 @@ const allowedMediaTypes = [ interface EncodingInfo { contentType: string; isImplicit: boolean; - parsedContentTypes: ParsedMediaType[]; + parsedContentTypes: ContentType[]; } type EncodingMap = Record; -/** - * Parse content types from a comma-separated content type string. - * @param contentType - Comma-separated content types from encoding object. - * @param propName - Property name for error messages. - * @returns Array of parsed content types. - */ -function parseContentTypes( - contentType: string, - propName: string -): ParsedMediaType[] { +function parseContentTypes(contentType: string): ContentType[] { return contentType .split(',') .map(ct => ct.trim()) - .map(ct => { - try { - return parseContentType(ct); - } catch (error: any) { - throw new ErrorWithCause( - `Invalid content type '${ct}' for property '${propName}' in OpenAPI specification. ` + - "Content types must follow the format 'type/subtype' (e.g., 'image/png', 'text/plain'). " + - 'Please fix your OpenAPI document.', - error - ); - } - }); + .map(ct => parseContentType(ct)); } /** @@ -128,7 +108,7 @@ function inferMultipartFormEncodings( { contentType, isImplicit: true, - parsedContentTypes: parseContentTypes(contentType, propName) + parsedContentTypes: parseContentTypes(contentType) } ]; }) @@ -158,10 +138,7 @@ function parseMultipartFormEncodings( { contentType: encodingObj.contentType!, isImplicit: false, - parsedContentTypes: parseContentTypes( - encodingObj.contentType!, - propName - ) + parsedContentTypes: parseContentTypes(encodingObj.contentType!) } ]) ) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 542c1e64e5..c0e1cc2377 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -693,8 +693,8 @@ importers: specifier: workspace:^ version: link:../util content-type: - specifier: ^1.0.5 - version: 1.0.5 + specifier: ^2.0.0 + version: 2.0.0 js-yaml: specifier: ^4.1.1 version: 4.2.0 @@ -714,9 +714,6 @@ importers: '@sap-cloud-sdk/test-util-internal': specifier: workspace:^ version: link:../../test-resources/test/test-util - '@types/content-type': - specifier: ^1.1.9 - version: 1.1.9 '@types/js-yaml': specifier: ^4.0.9 version: 4.0.9 @@ -2235,9 +2232,6 @@ packages: '@types/babel__traverse@7.28.0': resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} - '@types/content-type@1.1.9': - resolution: {integrity: sha512-Hq9IMnfekuOCsEmYl4QX2HBrT+XsfXiupfrLLY8Dcf3Puf4BkBOxSbWYTITSOQAhJoYPBez+b4MJRpIYL65z8A==} - '@types/eslint@7.29.0': resolution: {integrity: sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==} @@ -3175,6 +3169,10 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} + content-type@2.0.0: + resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==} + engines: {node: '>=18'} + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} @@ -7663,8 +7661,6 @@ snapshots: dependencies: '@babel/types': 7.29.7 - '@types/content-type@1.1.9': {} - '@types/eslint@7.29.0': dependencies: '@types/estree': 1.0.9 @@ -8600,6 +8596,8 @@ snapshots: content-type@1.0.5: {} + content-type@2.0.0: {} + convert-source-map@2.0.0: {} cookie-signature@1.0.7: {} diff --git a/test-packages/test-services-openapi/test-service/test-case-api.js b/test-packages/test-services-openapi/test-service/test-case-api.js index 4c380658d5..4c222e0c95 100644 --- a/test-packages/test-services-openapi/test-service/test-case-api.js +++ b/test-packages/test-services-openapi/test-service/test-case-api.js @@ -157,7 +157,7 @@ exports.TestCaseApi = { stringProperty: { contentType: 'text/plain', isImplicit: true, - parsedContentTypes: [{ parameters: {}, type: 'text/plain' }] + parsedContentTypes: [{ type: 'text/plain', parameters: {} }] } }, headerParameters: { 'content-type': 'multipart/form-data' } @@ -174,7 +174,7 @@ exports.TestCaseApi = { stringProperty: { contentType: 'text/plain', isImplicit: true, - parsedContentTypes: [{ parameters: {}, type: 'text/plain' }] + parsedContentTypes: [{ type: 'text/plain', parameters: {} }] } }, headerParameters: { diff --git a/test-packages/test-services-openapi/test-service/test-case-api.js.map b/test-packages/test-services-openapi/test-service/test-case-api.js.map index 081e64faea..5bf29b44d5 100644 --- a/test-packages/test-services-openapi/test-service/test-case-api.js.map +++ b/test-packages/test-services-openapi/test-service/test-case-api.js.map @@ -1 +1 @@ -{"version":3,"file":"test-case-api.js","sourceRoot":"","sources":["test-case-api.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"test-case-api.js","sourceRoot":"","sources":["test-case-api.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/test-packages/test-services-openapi/test-service/test-case-api.ts b/test-packages/test-services-openapi/test-service/test-case-api.ts index 3910545a45..3cd67092c3 100644 --- a/test-packages/test-services-openapi/test-service/test-case-api.ts +++ b/test-packages/test-services-openapi/test-service/test-case-api.ts @@ -280,7 +280,7 @@ export const TestCaseApi = { stringProperty: { contentType: 'text/plain', isImplicit: true, - parsedContentTypes: [{ parameters: {}, type: 'text/plain' }] + parsedContentTypes: [{ type: 'text/plain', parameters: {} }] } }, headerParameters: { 'content-type': 'multipart/form-data' } @@ -306,7 +306,7 @@ export const TestCaseApi = { stringProperty: { contentType: 'text/plain', isImplicit: true, - parsedContentTypes: [{ parameters: {}, type: 'text/plain' }] + parsedContentTypes: [{ type: 'text/plain', parameters: {} }] } }, headerParameters: {