@@ -709,14 +709,16 @@ class JsonServiceClient implements IServiceClient {
709709 /// - 'contentType': String (optional, defaults to 'application/octet-stream')
710710 /// [responseAs] Optional type to deserialize response as
711711 Future <T > postFileWithRequest <T >(
712- IReturn <T > request,
713- UploadFile file, {
714- RequestFilter ? requestFilter,
715- ResponseFilter ? responseFilter,
716- }) async {
717-
718- return await postFilesWithRequestAs <T >(combinePaths ([this .replyBaseUrl, nameOf (request)]),
719- request, [file], responseAs: request.createResponse (), requestFilter: requestFilter, responseFilter: responseFilter);
712+ IReturn <T > request,
713+ UploadFile file, {
714+ RequestFilter ? requestFilter,
715+ ResponseFilter ? responseFilter,
716+ }) async {
717+ return await postFilesWithRequestAs <T >(
718+ combinePaths ([this .replyBaseUrl, nameOf (request)]), request, [file],
719+ responseAs: request.createResponse (),
720+ requestFilter: requestFilter,
721+ responseFilter: responseFilter);
720722 }
721723
722724 /// Posts files with a request DTO using multipart/form-data
@@ -729,14 +731,16 @@ class JsonServiceClient implements IServiceClient {
729731 /// - 'contentType': String (optional, defaults to 'application/octet-stream')
730732 /// [responseAs] Optional type to deserialize response as
731733 Future <T > postFilesWithRequest <T >(
732- IReturn <T > request,
733- List <UploadFile > files, {
734- RequestFilter ? requestFilter,
735- ResponseFilter ? responseFilter,
736- }) async {
737-
738- return await postFilesWithRequestAs <T >(combinePaths ([this .replyBaseUrl, nameOf (request)]),
739- request, files, responseAs: request.createResponse (), requestFilter: requestFilter, responseFilter: responseFilter);
734+ IReturn <T > request,
735+ List <UploadFile > files, {
736+ RequestFilter ? requestFilter,
737+ ResponseFilter ? responseFilter,
738+ }) async {
739+ return await postFilesWithRequestAs <T >(
740+ combinePaths ([this .replyBaseUrl, nameOf (request)]), request, files,
741+ responseAs: request.createResponse (),
742+ requestFilter: requestFilter,
743+ responseFilter: responseFilter);
740744 }
741745
742746 /// Posts files with a request DTO using multipart/form-data
@@ -750,13 +754,13 @@ class JsonServiceClient implements IServiceClient {
750754 /// - 'contentType': String (optional, defaults to 'application/octet-stream')
751755 /// [responseAs] Optional type to deserialize response as
752756 Future <T > postFilesWithRequestAs <T >(
753- String requestUri,
754- dynamic request,
755- List <UploadFile > files, {
756- T ? responseAs,
757- RequestFilter ? requestFilter,
758- ResponseFilter ? responseFilter,
759- }) async {
757+ String requestUri,
758+ dynamic request,
759+ List <UploadFile > files, {
760+ T ? responseAs,
761+ RequestFilter ? requestFilter,
762+ ResponseFilter ? responseFilter,
763+ }) async {
760764 var uri = createUri (toAbsoluteUrl (requestUri))! ;
761765 var req = await client.postUrl (uri);
762766
@@ -786,17 +790,16 @@ class JsonServiceClient implements IServiceClient {
786790 if (entry.value != null ) {
787791 // Convert value to JSON string and remove quotes for simple values
788792 var valueJson = json.encode (entry.value);
789- var value = (entry.value is String || entry.value is num || entry.value is bool ) && valueJson.contains ('"' )
790- ? valueJson.substring (1 , valueJson.length - 1 ) // Remove quotes for simple types
791- : valueJson; // Keep full JSON for complex types
792-
793- _writeMultipartField (
794- output,
795- boundary,
796- entry.key,
797- utf8.encode (value),
798- 'text/plain; charset=utf-8'
799- );
793+ var value = (entry.value is String ||
794+ entry.value is num ||
795+ entry.value is bool ) &&
796+ valueJson.contains ('"' )
797+ ? valueJson.substring (
798+ 1 , valueJson.length - 1 ) // Remove quotes for simple types
799+ : valueJson; // Keep full JSON for complex types
800+
801+ _writeMultipartField (output, boundary, entry.key, utf8.encode (value),
802+ 'text/plain; charset=utf-8' );
800803 }
801804 }
802805 }
@@ -808,7 +811,8 @@ class JsonServiceClient implements IServiceClient {
808811 var contentType = file.contentType ?? 'application/octet-stream' ;
809812 var fileData = file.contents ?? Uint8List (0 );
810813
811- _writeMultipartFile (output, boundary, fieldName, fileName, fileData, contentType);
814+ _writeMultipartFile (
815+ output, boundary, fieldName, fileName, fileData, contentType);
812816 }
813817
814818 // Write final boundary
@@ -839,7 +843,6 @@ class JsonServiceClient implements IServiceClient {
839843 return await handleError (null , e);
840844 }
841845 }
842-
843846}
844847
845848Future <String > readFully (HttpClientResponse response) async {
@@ -895,8 +898,7 @@ String _generateBoundary() {
895898void _writeMultipartField (BytesBuilder output, String boundary, String name,
896899 List <int > value, String contentType) {
897900 output.add (utf8.encode ('--$boundary \r\n ' ));
898- output.add (utf8.encode (
899- 'Content-Disposition: form-data; name="$name "\r\n ' ));
901+ output.add (utf8.encode ('Content-Disposition: form-data; name="$name "\r\n ' ));
900902 output.add (utf8.encode ('Content-Type: $contentType \r\n\r\n ' ));
901903 output.add (value);
902904 output.add (utf8.encode ('\r\n ' ));
0 commit comments