File tree Expand file tree Collapse file tree 1 file changed +11
-2
lines changed
src/main/java/com/microsoft/graph/content Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change 66import java .util .List ;
77import java .util .Map ;
88import java .util .concurrent .ThreadLocalRandom ;
9+ import java .util .regex .Matcher ;
10+ import java .util .regex .Pattern ;
911
1012import com .google .gson .JsonArray ;
1113import com .google .gson .JsonElement ;
@@ -113,12 +115,19 @@ public String getBatchRequestContent() {
113115 return content ;
114116 }
115117
118+ private static final Pattern protocolAndHostReplacementPattern = Pattern .compile ("(?i)^http[s]?:\\ /\\ /graph\\ .microsoft\\ .com\\ /(?>v1\\ .0|beta)\\ /?" ); // (?i) case insensitive
119+ private Matcher protocolAndHostReplacementMatcher ; // not static to avoid multithreading issues as the object is mutable
116120 private JsonObject getBatchRequestObjectFromRequestStep (final MSBatchRequestStep batchRequestStep ) {
117121 final JsonObject contentmap = new JsonObject ();
118122 contentmap .add ("id" , new JsonPrimitive (batchRequestStep .getRequestId ()));
119123
120- final String url = batchRequestStep .getRequest ().url ().toString ()
121- .replaceAll ("(?i)^http[s]?:\\ /\\ /graph\\ .microsoft\\ .com\\ /(?>v1\\ .0|beta)\\ /?" , "" ); // (?i) case insensitive
124+ if (protocolAndHostReplacementMatcher == null ) {
125+ protocolAndHostReplacementMatcher = protocolAndHostReplacementPattern .matcher (batchRequestStep .getRequest ().url ().toString ());
126+ } else {
127+ protocolAndHostReplacementMatcher = protocolAndHostReplacementMatcher .reset (batchRequestStep .getRequest ().url ().toString ());
128+ }
129+
130+ final String url = protocolAndHostReplacementMatcher .replaceAll ("" );
122131 contentmap .add ("url" , new JsonPrimitive (url ));
123132
124133 contentmap .add ("method" , new JsonPrimitive (batchRequestStep .getRequest ().method ().toString ()));
You can’t perform that action at this time.
0 commit comments