forked from loafle/openapi-generator-original
[julia] fix regex escape on server codegen (#21009)
* [julia] fix regex escape on server codegen Fixed escaping of regex patterns on julialang server codegen. * add comment for the escapeRegex method * simplify
This commit is contained in:
parent
8e329feb6a
commit
8375b96535
@ -454,29 +454,6 @@ public abstract class AbstractJuliaCodegen extends DefaultCodegen {
|
|||||||
return input.replace("\"", "\\\"");
|
return input.replace("\"", "\\\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String escapeRegex(String pattern) {
|
|
||||||
pattern = pattern.replaceAll("\\\\\\\\", "\\\\");
|
|
||||||
pattern = pattern.replaceAll("^/", "");
|
|
||||||
pattern = pattern.replaceAll("/$", "");
|
|
||||||
return pattern;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert OpenAPI Parameter object to Codegen Parameter object
|
|
||||||
*
|
|
||||||
* @param imports set of imports for library/package/module
|
|
||||||
* @param param OpenAPI parameter object
|
|
||||||
* @return Codegen Parameter object
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public CodegenParameter fromParameter(Parameter param, Set<String> imports) {
|
|
||||||
CodegenParameter parameter = super.fromParameter(param, imports);
|
|
||||||
if (parameter.pattern != null) {
|
|
||||||
parameter.pattern = escapeRegex(parameter.pattern);
|
|
||||||
}
|
|
||||||
return parameter;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert OAS Property schema to Codegen Property object.
|
* Convert OAS Property schema to Codegen Property object.
|
||||||
* <p>
|
* <p>
|
||||||
@ -498,9 +475,6 @@ public abstract class AbstractJuliaCodegen extends DefaultCodegen {
|
|||||||
if (needsVarEscape(property.name)) {
|
if (needsVarEscape(property.name)) {
|
||||||
property.name = "var\"" + property.name + "\"";
|
property.name = "var\"" + property.name + "\"";
|
||||||
}
|
}
|
||||||
if (property.pattern != null) {
|
|
||||||
property.pattern = escapeRegex(property.pattern);
|
|
||||||
}
|
|
||||||
return property;
|
return property;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -531,6 +505,19 @@ public abstract class AbstractJuliaCodegen extends DefaultCodegen {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toRegularExpression(String pattern) {
|
||||||
|
if (pattern == null) {
|
||||||
|
return pattern;
|
||||||
|
}
|
||||||
|
|
||||||
|
pattern = escapeText(pattern);
|
||||||
|
// escapeText unnecessarily escapes `\` such that `\.` in the regex ends up as `\\.` for example.
|
||||||
|
// we need to restore it back by converting `\\` to `\`
|
||||||
|
pattern = pattern.replaceAll("\\\\\\\\", "\\\\");
|
||||||
|
return pattern;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert OAS Operation object to Codegen Operation object
|
* Convert OAS Operation object to Codegen Operation object
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user