Skip to content

Commit 99f1fdd

Browse files
authored
Merge pull request #1107 from fujigon/bugfix/parent-parent-ref
handle parent of parent ref
2 parents 2d74be9 + 85c4e16 commit 99f1fdd

File tree

1 file changed

+11
-3
lines changed
  • modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/util

1 file changed

+11
-3
lines changed

modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/util/RefUtils.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,9 +183,17 @@ public static String readExternalRef(String file, RefFormat refFormat, List<Auth
183183
result = readAll(pathToUse);
184184
} else {
185185
String url = file;
186-
if(url.contains("..")) {
187-
url = parentDirectory + url.substring(url.indexOf(".") + 2);
188-
}else{
186+
if (url.contains("..")) {
187+
int parentCount = 0;
188+
while (url.contains("..")) {
189+
url = url.substring(url.indexOf(".") + 2);
190+
parentCount++;
191+
}
192+
for (int i = 0; i < parentCount - 1; i++) {
193+
parentDirectory = parentDirectory.getParent();
194+
}
195+
url = parentDirectory + url;
196+
} else {
189197
url = parentDirectory + url.substring(url.indexOf(".") + 1);
190198
}
191199
final Path pathToUse2 = parentDirectory.resolve(url).normalize();

0 commit comments

Comments
 (0)