Skip to content
This repository was archived by the owner on Jun 30, 2023. It is now read-only.

Commit b16ce3f

Browse files
committed
ensure OpenAPI output argument is not a directory
1 parent 71d952e commit b16ce3f

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

endpoints-framework-tools/src/main/java/com/google/api/server/spi/tools/GetOpenApiDocAction.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,9 @@ public String genOpenApiDoc(
100100
URL[] classPath, String outputFilePath, String hostname, String basePath,
101101
List<String> serviceClassNames, boolean outputToDisk)
102102
throws ClassNotFoundException, IOException, ApiConfigException {
103-
File outputDir = new File(outputFilePath).getParentFile();
104-
if (!outputDir.isDirectory()) {
103+
File outputFile = new File(outputFilePath);
104+
File outputDir = outputFile.getParentFile();
105+
if (!outputDir.isDirectory() || outputFile.isDirectory()) {
105106
throw new IllegalArgumentException(outputFilePath + " is not a file");
106107
}
107108

@@ -124,7 +125,7 @@ public String genOpenApiDoc(
124125
String swaggerStr = Json.mapper().writer(new EndpointsPrettyPrinter())
125126
.writeValueAsString(swagger);
126127
if (outputToDisk) {
127-
Files.write(swaggerStr, new File(outputFilePath), UTF_8);
128+
Files.write(swaggerStr, outputFile, UTF_8);
128129
System.out.println("OpenAPI document written to " + outputFilePath);
129130
}
130131

0 commit comments

Comments
 (0)