File tree Expand file tree Collapse file tree 2 files changed +20
-5
lines changed Expand file tree Collapse file tree 2 files changed +20
-5
lines changed Original file line number Diff line number Diff line change @@ -58,11 +58,19 @@ export function sanitizeUrl(url) {
5858
5959 // return sanitized URI reference
6060 if ( urlObject . origin === base ) {
61- return urlTrimmed . startsWith ( "/" )
62- ? `${ urlObject . pathname } ${ urlObject . search } ${ urlObject . hash } `
63- : urlTrimmed . startsWith ( "." )
64- ? `.${ urlObject . pathname } ${ urlObject . search } ${ urlObject . hash } `
65- : `${ urlObject . pathname . substring ( 1 ) } ${ urlObject . search } ${ urlObject . hash } `
61+ if ( urlTrimmed . startsWith ( "/" ) ) {
62+ return `${ urlObject . pathname } ${ urlObject . search } ${ urlObject . hash } `
63+ }
64+
65+ if ( urlTrimmed . startsWith ( "./" ) ) {
66+ return `.${ urlObject . pathname } ${ urlObject . search } ${ urlObject . hash } `
67+ }
68+
69+ if ( urlTrimmed . startsWith ( "../" ) ) {
70+ return `..${ urlObject . pathname } ${ urlObject . search } ${ urlObject . hash } `
71+ }
72+
73+ return `${ urlObject . pathname . substring ( 1 ) } ${ urlObject . search } ${ urlObject . hash } `
6674 }
6775
6876 return String ( urlObject )
Original file line number Diff line number Diff line change @@ -1449,6 +1449,13 @@ describe("utils", () => {
14491449 expect ( sanitizeUrl ( url ) ) . toEqual ( "https://swagger.io/" )
14501450 } )
14511451
1452+ it ( "should gracefully handle relative paths" , ( ) => {
1453+ expect ( sanitizeUrl ( ".openapi.json" ) ) . toEqual ( ".openapi.json" )
1454+ expect ( sanitizeUrl ( "./openapi.json" ) ) . toEqual ( "./openapi.json" )
1455+ expect ( sanitizeUrl ( "..openapi.json" ) ) . toEqual ( "..openapi.json" )
1456+ expect ( sanitizeUrl ( "../openapi.json" ) ) . toEqual ( "../openapi.json" )
1457+ } )
1458+
14521459 it ( "should gracefully handle empty strings" , ( ) => {
14531460 expect ( sanitizeUrl ( "" ) ) . toEqual ( "" )
14541461 } )
You can’t perform that action at this time.
0 commit comments