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("\"", "\\\"");
|
||||
}
|
||||
|
||||
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.
|
||||
* <p>
|
||||
@ -498,9 +475,6 @@ public abstract class AbstractJuliaCodegen extends DefaultCodegen {
|
||||
if (needsVarEscape(property.name)) {
|
||||
property.name = "var\"" + property.name + "\"";
|
||||
}
|
||||
if (property.pattern != null) {
|
||||
property.pattern = escapeRegex(property.pattern);
|
||||
}
|
||||
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
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user