5454import java .util .List ;
5555import java .util .HashMap ;
5656
57+ import java .util .Locale ;
5758import java .util .concurrent .TimeUnit ;
5859
5960import javax .net .ssl .SSLSocketFactory ;
@@ -120,7 +121,7 @@ enum ResponseFormat {
120121 OkHttpClient client ;
121122
122123 public ReactNativeBlobUtilReq (ReadableMap options , String taskId , String method , String url , ReadableMap headers , String body , ReadableArray arrayBody , OkHttpClient client , final Callback callback ) {
123- this .method = method .toUpperCase ();
124+ this .method = method .toUpperCase (Locale . ROOT );
124125 this .options = new ReactNativeBlobUtilConfig (options );
125126 this .taskId = taskId ;
126127 this .url = url ;
@@ -311,14 +312,14 @@ else if (this.options.fileCache)
311312 else if (value .equalsIgnoreCase ("utf8" ))
312313 responseFormat = ResponseFormat .UTF8 ;
313314 } else {
314- builder .header (key .toLowerCase (), value );
315- mheaders .put (key .toLowerCase (), value );
315+ builder .header (key .toLowerCase (Locale . ROOT ), value );
316+ mheaders .put (key .toLowerCase (Locale . ROOT ), value );
316317 }
317318 }
318319 }
319320
320321 if (method .equalsIgnoreCase ("post" ) || method .equalsIgnoreCase ("put" ) || method .equalsIgnoreCase ("patch" )) {
321- String cType = getHeaderIgnoreCases (mheaders , "Content-Type" ).toLowerCase ();
322+ String cType = getHeaderIgnoreCases (mheaders , "Content-Type" ).toLowerCase (Locale . ROOT );
322323
323324 if (rawRequestBodyArray != null ) {
324325 requestType = RequestType .Form ;
@@ -332,7 +333,7 @@ else if (value.equalsIgnoreCase("utf8"))
332333 if (rawRequestBody .startsWith (ReactNativeBlobUtilConst .FILE_PREFIX )
333334 || rawRequestBody .startsWith (ReactNativeBlobUtilConst .CONTENT_PREFIX )) {
334335 requestType = RequestType .SingleFile ;
335- } else if (cType .toLowerCase ().contains (";base64" ) || cType .toLowerCase ().startsWith ("application/octet" )) {
336+ } else if (cType .toLowerCase (Locale . ROOT ).contains (";base64" ) || cType .toLowerCase (Locale . ROOT ).startsWith ("application/octet" )) {
336337 cType = cType .replace (";base64" , "" ).replace (";BASE64" , "" );
337338 if (mheaders .containsKey ("content-type" ))
338339 mheaders .put ("content-type" , cType );
@@ -718,7 +719,7 @@ private boolean isBlobResponse(Response resp) {
718719 boolean isCustomBinary = false ;
719720 if (options .binaryContentTypes != null ) {
720721 for (int i = 0 ; i < options .binaryContentTypes .size (); i ++) {
721- if (ctype .toLowerCase ().contains (options .binaryContentTypes .getString (i ).toLowerCase ())) {
722+ if (ctype .toLowerCase (Locale . ROOT ).contains (options .binaryContentTypes .getString (i ).toLowerCase (Locale . ROOT ))) {
722723 isCustomBinary = true ;
723724 break ;
724725 }
@@ -730,13 +731,13 @@ private boolean isBlobResponse(Response resp) {
730731 private String getHeaderIgnoreCases (Headers headers , String field ) {
731732 String val = headers .get (field );
732733 if (val != null ) return val ;
733- return headers .get (field .toLowerCase ()) == null ? "" : headers .get (field .toLowerCase ());
734+ return headers .get (field .toLowerCase (Locale . ROOT )) == null ? "" : headers .get (field .toLowerCase (Locale . ROOT ));
734735 }
735736
736737 private String getHeaderIgnoreCases (HashMap <String , String > headers , String field ) {
737738 String val = headers .get (field );
738739 if (val != null ) return val ;
739- String lowerCasedValue = headers .get (field .toLowerCase ());
740+ String lowerCasedValue = headers .get (field .toLowerCase (Locale . ROOT ));
740741 return lowerCasedValue == null ? "" : lowerCasedValue ;
741742 }
742743
0 commit comments