UNPKG

@redocly/openapi-core

Version:

See https://github.com/Redocly/redocly-cli

30 lines 1.32 kB
import { isPathParameter, splitCamelCaseIntoWords } from '../../utils.js'; const httpMethods = ['get', 'head', 'post', 'put', 'patch', 'delete', 'options', 'trace']; export const NoHttpVerbsInPaths = ({ splitIntoWords }) => { return { PathItem(_path, { key, report, location }) { const pathKey = key.toString(); if (!pathKey.startsWith('/')) return; const pathSegments = pathKey.split('/'); for (const pathSegment of pathSegments) { if (!pathSegment || isPathParameter(pathSegment)) continue; const isHttpMethodIncluded = (method) => { return splitIntoWords ? splitCamelCaseIntoWords(pathSegment).has(method) : pathSegment.toLocaleLowerCase().includes(method); }; for (const method of httpMethods) { if (isHttpMethodIncluded(method)) { report({ message: `path \`${pathKey}\` should not contain http verb ${method}`, location: location.key(), }); } } } }, }; }; //# sourceMappingURL=no-http-verbs-in-paths.js.map