From 6bd7aeebe3ae5230857571376c70587728ef96e5 Mon Sep 17 00:00:00 2001 From: Aashutosh soni Date: Tue, 19 Mar 2024 17:10:25 +0530 Subject: [PATCH 01/11] update: bug fixes. --- lib/codegen/php/guzzle.dart | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/codegen/php/guzzle.dart b/lib/codegen/php/guzzle.dart index c0e5562e..48f077d5 100644 --- a/lib/codegen/php/guzzle.dart +++ b/lib/codegen/php/guzzle.dart @@ -68,7 +68,7 @@ echo \$res->getBody(); [ 'name' => '${field['name']}', 'contents' => '${field['value']}' - ],'''; + ],\n'''; }).join(), }); result += renderedMultiPartBody; @@ -86,7 +86,7 @@ echo \$res->getBody(); } var jsonString = ''; m.forEach((key, value) { - jsonString += "\t\t\t\t'$key' => '$value', \n"; + jsonString += "\t\t\t\t'$key' => '$value',\n"; }); jsonString = jsonString.substring( 0, jsonString.length - 2); // Removing trailing comma and space @@ -104,7 +104,7 @@ echo \$res->getBody(); } var headersString = ''; m.forEach((key, value) { - headersString += "\t\t\t\t'$key' => '$value', \n"; + headersString += "\t\t\t\t'$key' => '$value',\n"; }); if (requestModel.hasFormData) { m['Content-Type'] = 'multipart/form-data'; @@ -148,8 +148,8 @@ echo \$res->getBody(); "url": stripUrlParams(requestModel.url), "method": harJson["method"].toLowerCase(), "queryParams": - harJson["queryString"].isNotEmpty ? ". \$queryParamsStr," : "", - "headers": harJson["headers"].isNotEmpty ? " \$headers," : "", + harJson["queryString"].isNotEmpty ? ". \$queryParamsStr" : "", + "headers": harJson["headers"].isNotEmpty ? ", \$headers," : "", "body": getRequestBody(harJson), }); From a6291e2d6321cd93e4534c6dd6f745a9162f9567 Mon Sep 17 00:00:00 2001 From: Aashutosh soni Date: Tue, 19 Mar 2024 17:11:13 +0530 Subject: [PATCH 02/11] wrote all test cases except POST 4 to 9 according to #80 --- test/codegen/php_guzzle_codegen_test.dart | 446 ++++++++++++++++++++++ 1 file changed, 446 insertions(+) create mode 100644 test/codegen/php_guzzle_codegen_test.dart diff --git a/test/codegen/php_guzzle_codegen_test.dart b/test/codegen/php_guzzle_codegen_test.dart new file mode 100644 index 00000000..2350d5b0 --- /dev/null +++ b/test/codegen/php_guzzle_codegen_test.dart @@ -0,0 +1,446 @@ +import 'package:apidash/codegen/codegen.dart'; +import 'package:apidash/consts.dart'; +import 'package:test/test.dart'; +import '../request_models.dart'; + +void main() { + final codeGen = Codegen(); + + group('GET Request', () { + test('GET 1', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$client = new Client(); + +$request = new Request('get', 'https://api.apidash.dev' ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet1, "https"), + expectedCode); + }); + + test('GET 2', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$queryParams = [ + 'code' => 'US' +]; +$queryParamsStr = '?' . http_build_query($queryParams); + +$client = new Client(); + +$request = new Request('get', 'https://api.apidash.dev/country/data'. $queryParamsStr ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet2, "https"), + expectedCode); + }); + + test('GET 3', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$queryParams = [ + 'code' => 'IND' +]; +$queryParamsStr = '?' . http_build_query($queryParams); + +$client = new Client(); + +$request = new Request('get', 'https://api.apidash.dev/country/data'. $queryParamsStr ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet3, "https"), + expectedCode); + }); + + test('GET 4', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$queryParams = [ + 'num' => '8700000', + 'digits' => '3', + 'system' => 'SS', + 'add_space' => 'true', + 'trailing_zeros' => 'true' +]; +$queryParamsStr = '?' . http_build_query($queryParams); + +$client = new Client(); + +$request = new Request('get', 'https://api.apidash.dev/humanize/social'. $queryParamsStr ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet4, "https"), + expectedCode); + }); + + test('GET 5', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$headers = [ + 'User-Agent' => 'Test Agent' +]; + +$client = new Client(); + +$request = new Request('get', 'https://api.github.com/repos/foss42/apidash' , $headers, ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet5, "https"), + expectedCode); + }); + + test('GET 6', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$queryParams = [ + 'raw' => 'true' +]; +$queryParamsStr = '?' . http_build_query($queryParams); + +$headers = [ + 'User-Agent' => 'Test Agent' +]; + +$client = new Client(); + +$request = new Request('get', 'https://api.github.com/repos/foss42/apidash'. $queryParamsStr , $headers, ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet6, "https"), + expectedCode); + }); + + test('GET 7', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$client = new Client(); + +$request = new Request('get', 'https://api.apidash.dev' ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet7, "https"), + expectedCode); + }); + + test('GET 8', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$queryParams = [ + 'raw' => 'true' +]; +$queryParamsStr = '?' . http_build_query($queryParams); + +$headers = [ + 'User-Agent' => 'Test Agent' +]; + +$client = new Client(); + +$request = new Request('get', 'https://api.github.com/repos/foss42/apidash'. $queryParamsStr , $headers, ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet8, "https"), + expectedCode); + }); + + test('GET 9', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$queryParams = [ + 'num' => '8700000', + 'add_space' => 'true' +]; +$queryParamsStr = '?' . http_build_query($queryParams); + +$client = new Client(); + +$request = new Request('get', 'https://api.apidash.dev/humanize/social'. $queryParamsStr ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet9, "https"), + expectedCode); + }); + + test('GET 10', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$headers = [ + 'User-Agent' => 'Test Agent' +]; + +$client = new Client(); + +$request = new Request('get', 'https://api.apidash.dev/humanize/social' , $headers, ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, + requestModelGet10, + "https", + ), + expectedCode); + }); + + test('GET 11', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$queryParams = [ + 'num' => '8700000', + 'digits' => '3' +]; +$queryParamsStr = '?' . http_build_query($queryParams); + +$headers = [ + 'User-Agent' => 'Test Agent' +]; + +$client = new Client(); + +$request = new Request('get', 'https://api.apidash.dev/humanize/social'. $queryParamsStr , $headers, ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelGet11, "https"), + expectedCode); + }); + + test('GET 12', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$client = new Client(); + +$request = new Request('get', 'https://api.apidash.dev/humanize/social' ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelGet12, "https"), + expectedCode); + }); + }); + + group('HEAD Request', () { + test('HEAD 1', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$client = new Client(); + +$request = new Request('head', 'https://api.apidash.dev' ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelHead1, "https"), + expectedCode); + }); + + test('HEAD 2', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$client = new Client(); + +$request = new Request('head', 'http://api.apidash.dev' ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelHead2, "http"), + expectedCode); + }); + }); + + group('POST Request', () { + test('POST 1', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$headers = [ + 'Content-Type' => 'text/plain' +]; + +$body = "{\n\"text\": \"I LOVE Flutter\"\n}"; + +$client = new Client(); + +$request = new Request('post', 'https://api.apidash.dev/case/lower' , $headers, $body); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelPost1, "https"), + expectedCode); + }); + + test('POST 2', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$headers = [ + 'Content-Type' => 'application/json' +]; + +$body = "{\n\"text\": \"I LOVE Flutter\",\n\"flag\": null,\n\"male\": true,\n\"female\": false,\n\"no\": 1.2,\n\"arr\": [\"null\", \"true\", \"false\", null]\n}"; + +$client = new Client(); + +$request = new Request('post', 'https://api.apidash.dev/case/lower' , $headers, $body); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelPost2, "https"), + expectedCode); + }); + + test('POST 3', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$headers = [ + 'Content-Type' => 'application/json', + 'User-Agent' => 'Test Agent' +]; + +$body = "{\n\"text\": \"I LOVE Flutter\"\n}"; + +$client = new Client(); + +$request = new Request('post', 'https://api.apidash.dev/case/lower' , $headers, $body); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelPost3, "https"), + expectedCode); + }); + }); + + group('PUT Request', () { + test('PUT 1', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$headers = [ + 'Content-Type' => 'application/json' +]; + +$body = "{\n\"name\": \"morpheus\",\n\"job\": \"zion resident\"\n}"; + +$client = new Client(); + +$request = new Request('put', 'https://reqres.in/api/users/2' , $headers, $body); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelPut1, "https"), + expectedCode); + }); + }); + + group('PATCH Request', () { + test('PATCH 1', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$headers = [ + 'Content-Type' => 'application/json' +]; + +$body = "{\n\"name\": \"marfeus\",\n\"job\": \"accountant\"\n}"; + +$client = new Client(); + +$request = new Request('patch', 'https://reqres.in/api/users/2' , $headers, $body); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelPatch1, "https"), + expectedCode); + }); + }); + + group('DELETE Request', () { + test('DELETE 1', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$client = new Client(); + +$request = new Request('delete', 'https://reqres.in/api/users/2' ); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelDelete1, "https"), + expectedCode); + }); + + test('DELETE 2', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; + + +$headers = [ + 'Content-Type' => 'application/json' +]; + +$body = "{\n\"name\": \"marfeus\",\n\"job\": \"accountant\"\n}"; + +$client = new Client(); + +$request = new Request('delete', 'https://reqres.in/api/users/2' , $headers, $body); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelDelete2, "https"), + expectedCode); + }); + }); +} From ea67ebf526bbd5fd7204f43c12b68936586caebf Mon Sep 17 00:00:00 2001 From: Aashutosh soni Date: Tue, 19 Mar 2024 18:51:20 +0530 Subject: [PATCH 03/11] Modified code to handle multipart/form-data and bug fixes. --- lib/codegen/php/guzzle.dart | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/lib/codegen/php/guzzle.dart b/lib/codegen/php/guzzle.dart index 48f077d5..fd4a609a 100644 --- a/lib/codegen/php/guzzle.dart +++ b/lib/codegen/php/guzzle.dart @@ -13,9 +13,9 @@ use GuzzleHttp\\Psr7\\Request; """; String kMultiPartBodyTemplate = """ -\$multipart = [ +\$multipart = new MultipartStream([ {{fields_list}} -]; +]); """; @@ -103,11 +103,20 @@ echo \$res->getBody(); m[i["name"]] = i["value"]; } var headersString = ''; + var contentTypeAdded = false; + m.forEach((key, value) { - headersString += "\t\t\t\t'$key' => '$value',\n"; + if (key == 'Content-Type' && value.contains('multipart/form-data')) { + contentTypeAdded = false; + } else { + headersString += "\t\t\t\t'$key' => '$value',\n"; + } }); - if (requestModel.hasFormData) { - m['Content-Type'] = 'multipart/form-data'; + + if (requestModel.hasFormData && !contentTypeAdded) { + // Add Content-Type header for multipart form-data only if it's present and not already added + headersString += + "\t\t\t\t'Content-Type' => 'multipart/form-data; boundary=' . \$multipart->getBoundary(), \n"; } headersString = headersString.substring( 0, headersString.length - 2); // Removing trailing comma and space @@ -117,11 +126,11 @@ echo \$res->getBody(); } var templateBody = jj.Template(kTemplateBody); - if (requestModel.hasFormData && requestModel.formDataMapList.isNotEmpty) { - result += templateBody.render({ - "body": "new MultipartStream(\$multipart)", - }); - } + // if (requestModel.hasFormData && requestModel.formDataMapList.isNotEmpty) { + // result += templateBody.render({ + // "body": "new MultipartStream(\$multipart)", + // }); + // } if (harJson["postData"]?["text"] != null) { result += templateBody @@ -135,8 +144,8 @@ echo \$res->getBody(); var mimeType = postData["mimeType"]; if (mimeType == "text/plain" || mimeType == "application/json") { return " \$body"; - } else if (mimeType == "multipart/form-data") { - return " new MultipartStream(\$multipart)"; + } else if (mimeType.contains("multipart/form-data")) { + return " \$multipart"; } } } From 9265cc9d8d9295cbedde1f01413b1cdc46e27170 Mon Sep 17 00:00:00 2001 From: Aashutosh soni Date: Tue, 19 Mar 2024 18:51:45 +0530 Subject: [PATCH 04/11] Tests: Added all tests as mentioned in #80, all tests passing. --- test/codegen/php_guzzle_codegen_test.dart | 219 ++++++++++++++++++++++ 1 file changed, 219 insertions(+) diff --git a/test/codegen/php_guzzle_codegen_test.dart b/test/codegen/php_guzzle_codegen_test.dart index 2350d5b0..7282145c 100644 --- a/test/codegen/php_guzzle_codegen_test.dart +++ b/test/codegen/php_guzzle_codegen_test.dart @@ -355,6 +355,225 @@ echo $res->getBody();"""; CodegenLanguage.phpGuzzle, requestModelPost3, "https"), expectedCode); }); + + test('POST 4', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; +use GuzzleHttp\Psr7\MultipartStream; + +$multipart = new MultipartStream([ + [ + 'name' => 'text', + 'contents' => 'API' + ], + [ + 'name' => 'sep', + 'contents' => '|' + ], + [ + 'name' => 'times', + 'contents' => '3' + ], + +]); + +$headers = [ + 'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +]; + +$client = new Client(); + +$request = new Request('post', 'https://api.apidash.dev/io/form' , $headers, $multipart); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelPost4, "https"), + expectedCode); + }); + + test('POST 5', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; +use GuzzleHttp\Psr7\MultipartStream; + +$multipart = new MultipartStream([ + [ + 'name' => 'text', + 'contents' => 'API' + ], + [ + 'name' => 'sep', + 'contents' => '|' + ], + [ + 'name' => 'times', + 'contents' => '3' + ], + +]); + +$headers = [ + 'User-Agent' => 'Test Agent', + 'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +]; + +$client = new Client(); + +$request = new Request('post', 'https://api.apidash.dev/io/form' , $headers, $multipart); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelPost5, "https"), + expectedCode); + }); + + test('POST 6', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; +use GuzzleHttp\Psr7\MultipartStream; + +$multipart = new MultipartStream([ + [ + 'name' => 'token', + 'contents' => 'xyz' + ], + [ + 'name' => 'imfile', + 'contents' => '/Documents/up/1.png' + ], + +]); + +$headers = [ + 'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +]; + +$client = new Client(); + +$request = new Request('post', 'https://api.apidash.dev/io/img' , $headers, $multipart); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelPost6, "https"), + expectedCode); + }); + + test('POST 7', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; +use GuzzleHttp\Psr7\MultipartStream; + +$multipart = new MultipartStream([ + [ + 'name' => 'token', + 'contents' => 'xyz' + ], + [ + 'name' => 'imfile', + 'contents' => '/Documents/up/1.png' + ], + +]); + +$headers = [ + 'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +]; + +$client = new Client(); + +$request = new Request('post', 'https://api.apidash.dev/io/img' , $headers, $multipart); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelPost7, "https"), + expectedCode); + }); + + test('POST 8', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; +use GuzzleHttp\Psr7\MultipartStream; + +$multipart = new MultipartStream([ + [ + 'name' => 'text', + 'contents' => 'API' + ], + [ + 'name' => 'sep', + 'contents' => '|' + ], + [ + 'name' => 'times', + 'contents' => '3' + ], + +]); + +$queryParams = [ + 'size' => '2', + 'len' => '3' +]; +$queryParamsStr = '?' . http_build_query($queryParams); + +$headers = [ + 'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +]; + +$client = new Client(); + +$request = new Request('post', 'https://api.apidash.dev/io/form'. $queryParamsStr , $headers, $multipart); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelPost8, "https"), + expectedCode); + }); + + test('POST 9', () { + const expectedCode = r"""use GuzzleHttp\Client; +use GuzzleHttp\Psr7\Request; +use GuzzleHttp\Psr7\MultipartStream; + +$multipart = new MultipartStream([ + [ + 'name' => 'token', + 'contents' => 'xyz' + ], + [ + 'name' => 'imfile', + 'contents' => '/Documents/up/1.png' + ], + +]); + +$queryParams = [ + 'size' => '2', + 'len' => '3' +]; +$queryParamsStr = '?' . http_build_query($queryParams); + +$headers = [ + 'User-Agent' => 'Test Agent', + 'Keep-Alive' => 'true', + 'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +]; + +$client = new Client(); + +$request = new Request('post', 'https://api.apidash.dev/io/img'. $queryParamsStr , $headers, $multipart); +$res = $client->sendAsync($request)->wait(); +echo $res->getBody();"""; + expect( + codeGen.getCode( + CodegenLanguage.phpGuzzle, requestModelPost9, "https"), + expectedCode); + }); }); group('PUT Request', () { From e63fc143495abbbd0985f6741891cfb4324c4ebc Mon Sep 17 00:00:00 2001 From: Aashutosh soni Date: Thu, 21 Mar 2024 08:32:12 +0530 Subject: [PATCH 05/11] update: removed comments. --- lib/codegen/php/guzzle.dart | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/lib/codegen/php/guzzle.dart b/lib/codegen/php/guzzle.dart index fd4a609a..1d92372b 100644 --- a/lib/codegen/php/guzzle.dart +++ b/lib/codegen/php/guzzle.dart @@ -88,8 +88,7 @@ echo \$res->getBody(); m.forEach((key, value) { jsonString += "\t\t\t\t'$key' => '$value',\n"; }); - jsonString = jsonString.substring( - 0, jsonString.length - 2); // Removing trailing comma and space + jsonString = jsonString.substring(0, jsonString.length - 2); result += templateParams.render({ "params": jsonString, }); @@ -114,23 +113,16 @@ echo \$res->getBody(); }); if (requestModel.hasFormData && !contentTypeAdded) { - // Add Content-Type header for multipart form-data only if it's present and not already added headersString += "\t\t\t\t'Content-Type' => 'multipart/form-data; boundary=' . \$multipart->getBoundary(), \n"; } - headersString = headersString.substring( - 0, headersString.length - 2); // Removing trailing comma and space + headersString = headersString.substring(0, headersString.length - 2); result += templateHeader.render({ "headers": headersString, }); } var templateBody = jj.Template(kTemplateBody); - // if (requestModel.hasFormData && requestModel.formDataMapList.isNotEmpty) { - // result += templateBody.render({ - // "body": "new MultipartStream(\$multipart)", - // }); - // } if (harJson["postData"]?["text"] != null) { result += templateBody @@ -149,7 +141,7 @@ echo \$res->getBody(); } } } - return ""; // Return empty string if postData or formdata is not present + return ""; } var templateRequest = jj.Template(kStringRequest); From 1759892a1b3b34d15d6dd6ebeffb680951d91de4 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sun, 14 Apr 2024 19:28:35 +0530 Subject: [PATCH 06/11] add vendor/autoload.php --- lib/codegen/php/guzzle.dart | 5 +- test/codegen/php_guzzle_codegen_test.dart | 135 +++++++++++++++++----- 2 files changed, 112 insertions(+), 28 deletions(-) diff --git a/lib/codegen/php/guzzle.dart b/lib/codegen/php/guzzle.dart index 1d92372b..3dd32d40 100644 --- a/lib/codegen/php/guzzle.dart +++ b/lib/codegen/php/guzzle.dart @@ -5,7 +5,10 @@ import 'package:apidash/models/models.dart' show RequestModel; import 'package:apidash/consts.dart'; class PhpGuzzleCodeGen { - String kStringImportNode = """use GuzzleHttp\\Client; + String kStringImportNode = """getBody();"""; }); test('GET 2', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('GET 3', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('GET 4', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('GET 5', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('GET 6', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('GET 7', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('GET 8', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('GET 9', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('GET 10', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('GET 11', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('GET 12', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; group('HEAD Request', () { test('HEAD 1', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('HEAD 2', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; group('POST Request', () { test('POST 1', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('POST 2', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('POST 3', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('POST 4', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('POST 5', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('POST 6', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('POST 7', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('POST 8', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('POST 9', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; group('PUT Request', () { test('PUT 1', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; group('PATCH Request', () { test('PATCH 1', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; group('DELETE Request', () { test('DELETE 1', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r"""getBody();"""; }); test('DELETE 2', () { - const expectedCode = r"""use GuzzleHttp\Client; + const expectedCode = r""" Date: Sun, 14 Apr 2024 19:44:57 +0530 Subject: [PATCH 07/11] fixes --- lib/codegen/php/guzzle.dart | 19 +- test/codegen/php_guzzle_codegen_test.dart | 211 +++++++++++++++------- 2 files changed, 157 insertions(+), 73 deletions(-) diff --git a/lib/codegen/php/guzzle.dart b/lib/codegen/php/guzzle.dart index 3dd32d40..659b1208 100644 --- a/lib/codegen/php/guzzle.dart +++ b/lib/codegen/php/guzzle.dart @@ -46,12 +46,15 @@ use GuzzleHttp\\Psr7\\Request; """; - String kStringRequest = """ -\$client = new Client(); + String kStringRequest = r""" +$client = new Client(); + +$request = new Request('{{method}}', '{{url}}'{{queryParams}} {{headers}} {{body}}); +$res = $client->sendAsync($request)->wait(); + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); -\$request = new Request('{{method}}', '{{url}}'{{queryParams}} {{headers}} {{body}}); -\$res = \$client->sendAsync(\$request)->wait(); -echo \$res->getBody(); """; String? getCode(RequestModel requestModel) { @@ -89,7 +92,7 @@ echo \$res->getBody(); } var jsonString = ''; m.forEach((key, value) { - jsonString += "\t\t\t\t'$key' => '$value',\n"; + jsonString += "'$key' => '$value',\n"; }); jsonString = jsonString.substring(0, jsonString.length - 2); result += templateParams.render({ @@ -111,13 +114,13 @@ echo \$res->getBody(); if (key == 'Content-Type' && value.contains('multipart/form-data')) { contentTypeAdded = false; } else { - headersString += "\t\t\t\t'$key' => '$value',\n"; + headersString += "'$key' => '$value',\n"; } }); if (requestModel.hasFormData && !contentTypeAdded) { headersString += - "\t\t\t\t'Content-Type' => 'multipart/form-data; boundary=' . \$multipart->getBoundary(), \n"; + "'Content-Type' => 'multipart/form-data; boundary=' . \$multipart->getBoundary(), \n"; } headersString = headersString.substring(0, headersString.length - 2); result += templateHeader.render({ diff --git a/test/codegen/php_guzzle_codegen_test.dart b/test/codegen/php_guzzle_codegen_test.dart index 264903ac..2f23b1fc 100644 --- a/test/codegen/php_guzzle_codegen_test.dart +++ b/test/codegen/php_guzzle_codegen_test.dart @@ -19,7 +19,10 @@ $client = new Client(); $request = new Request('get', 'https://api.apidash.dev' ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet1, "https"), expectedCode); @@ -34,7 +37,7 @@ use GuzzleHttp\Psr7\Request; $queryParams = [ - 'code' => 'US' +'code' => 'US' ]; $queryParamsStr = '?' . http_build_query($queryParams); @@ -42,7 +45,10 @@ $client = new Client(); $request = new Request('get', 'https://api.apidash.dev/country/data'. $queryParamsStr ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet2, "https"), expectedCode); @@ -57,7 +63,7 @@ use GuzzleHttp\Psr7\Request; $queryParams = [ - 'code' => 'IND' +'code' => 'IND' ]; $queryParamsStr = '?' . http_build_query($queryParams); @@ -65,7 +71,10 @@ $client = new Client(); $request = new Request('get', 'https://api.apidash.dev/country/data'. $queryParamsStr ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet3, "https"), expectedCode); @@ -80,11 +89,11 @@ use GuzzleHttp\Psr7\Request; $queryParams = [ - 'num' => '8700000', - 'digits' => '3', - 'system' => 'SS', - 'add_space' => 'true', - 'trailing_zeros' => 'true' +'num' => '8700000', +'digits' => '3', +'system' => 'SS', +'add_space' => 'true', +'trailing_zeros' => 'true' ]; $queryParamsStr = '?' . http_build_query($queryParams); @@ -92,7 +101,10 @@ $client = new Client(); $request = new Request('get', 'https://api.apidash.dev/humanize/social'. $queryParamsStr ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet4, "https"), expectedCode); @@ -107,14 +119,17 @@ use GuzzleHttp\Psr7\Request; $headers = [ - 'User-Agent' => 'Test Agent' +'User-Agent' => 'Test Agent' ]; $client = new Client(); $request = new Request('get', 'https://api.github.com/repos/foss42/apidash' , $headers, ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet5, "https"), expectedCode); @@ -129,19 +144,22 @@ use GuzzleHttp\Psr7\Request; $queryParams = [ - 'raw' => 'true' +'raw' => 'true' ]; $queryParamsStr = '?' . http_build_query($queryParams); $headers = [ - 'User-Agent' => 'Test Agent' +'User-Agent' => 'Test Agent' ]; $client = new Client(); $request = new Request('get', 'https://api.github.com/repos/foss42/apidash'. $queryParamsStr , $headers, ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet6, "https"), expectedCode); @@ -159,7 +177,10 @@ $client = new Client(); $request = new Request('get', 'https://api.apidash.dev' ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet7, "https"), expectedCode); @@ -174,19 +195,22 @@ use GuzzleHttp\Psr7\Request; $queryParams = [ - 'raw' => 'true' +'raw' => 'true' ]; $queryParamsStr = '?' . http_build_query($queryParams); $headers = [ - 'User-Agent' => 'Test Agent' +'User-Agent' => 'Test Agent' ]; $client = new Client(); $request = new Request('get', 'https://api.github.com/repos/foss42/apidash'. $queryParamsStr , $headers, ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet8, "https"), expectedCode); @@ -201,8 +225,8 @@ use GuzzleHttp\Psr7\Request; $queryParams = [ - 'num' => '8700000', - 'add_space' => 'true' +'num' => '8700000', +'add_space' => 'true' ]; $queryParamsStr = '?' . http_build_query($queryParams); @@ -210,7 +234,10 @@ $client = new Client(); $request = new Request('get', 'https://api.apidash.dev/humanize/social'. $queryParamsStr ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelGet9, "https"), expectedCode); @@ -225,14 +252,17 @@ use GuzzleHttp\Psr7\Request; $headers = [ - 'User-Agent' => 'Test Agent' +'User-Agent' => 'Test Agent' ]; $client = new Client(); $request = new Request('get', 'https://api.apidash.dev/humanize/social' , $headers, ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, @@ -251,20 +281,23 @@ use GuzzleHttp\Psr7\Request; $queryParams = [ - 'num' => '8700000', - 'digits' => '3' +'num' => '8700000', +'digits' => '3' ]; $queryParamsStr = '?' . http_build_query($queryParams); $headers = [ - 'User-Agent' => 'Test Agent' +'User-Agent' => 'Test Agent' ]; $client = new Client(); $request = new Request('get', 'https://api.apidash.dev/humanize/social'. $queryParamsStr , $headers, ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelGet11, "https"), @@ -283,7 +316,10 @@ $client = new Client(); $request = new Request('get', 'https://api.apidash.dev/humanize/social' ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelGet12, "https"), @@ -304,7 +340,10 @@ $client = new Client(); $request = new Request('head', 'https://api.apidash.dev' ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelHead1, "https"), @@ -323,7 +362,10 @@ $client = new Client(); $request = new Request('head', 'http://api.apidash.dev' ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelHead2, "http"), expectedCode); @@ -340,7 +382,7 @@ use GuzzleHttp\Psr7\Request; $headers = [ - 'Content-Type' => 'text/plain' +'Content-Type' => 'text/plain' ]; $body = "{\n\"text\": \"I LOVE Flutter\"\n}"; @@ -349,7 +391,10 @@ $client = new Client(); $request = new Request('post', 'https://api.apidash.dev/case/lower' , $headers, $body); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelPost1, "https"), @@ -365,7 +410,7 @@ use GuzzleHttp\Psr7\Request; $headers = [ - 'Content-Type' => 'application/json' +'Content-Type' => 'application/json' ]; $body = "{\n\"text\": \"I LOVE Flutter\",\n\"flag\": null,\n\"male\": true,\n\"female\": false,\n\"no\": 1.2,\n\"arr\": [\"null\", \"true\", \"false\", null]\n}"; @@ -374,7 +419,10 @@ $client = new Client(); $request = new Request('post', 'https://api.apidash.dev/case/lower' , $headers, $body); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelPost2, "https"), @@ -390,8 +438,8 @@ use GuzzleHttp\Psr7\Request; $headers = [ - 'Content-Type' => 'application/json', - 'User-Agent' => 'Test Agent' +'Content-Type' => 'application/json', +'User-Agent' => 'Test Agent' ]; $body = "{\n\"text\": \"I LOVE Flutter\"\n}"; @@ -400,7 +448,10 @@ $client = new Client(); $request = new Request('post', 'https://api.apidash.dev/case/lower' , $headers, $body); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelPost3, "https"), @@ -432,14 +483,17 @@ $multipart = new MultipartStream([ ]); $headers = [ - 'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), ]; $client = new Client(); $request = new Request('post', 'https://api.apidash.dev/io/form' , $headers, $multipart); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelPost4, "https"), @@ -471,15 +525,18 @@ $multipart = new MultipartStream([ ]); $headers = [ - 'User-Agent' => 'Test Agent', - 'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +'User-Agent' => 'Test Agent', +'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), ]; $client = new Client(); $request = new Request('post', 'https://api.apidash.dev/io/form' , $headers, $multipart); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelPost5, "https"), @@ -507,14 +564,17 @@ $multipart = new MultipartStream([ ]); $headers = [ - 'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), ]; $client = new Client(); $request = new Request('post', 'https://api.apidash.dev/io/img' , $headers, $multipart); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelPost6, "https"), @@ -542,14 +602,17 @@ $multipart = new MultipartStream([ ]); $headers = [ - 'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), ]; $client = new Client(); $request = new Request('post', 'https://api.apidash.dev/io/img' , $headers, $multipart); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelPost7, "https"), @@ -581,20 +644,23 @@ $multipart = new MultipartStream([ ]); $queryParams = [ - 'size' => '2', - 'len' => '3' +'size' => '2', +'len' => '3' ]; $queryParamsStr = '?' . http_build_query($queryParams); $headers = [ - 'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), ]; $client = new Client(); $request = new Request('post', 'https://api.apidash.dev/io/form'. $queryParamsStr , $headers, $multipart); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelPost8, "https"), @@ -622,22 +688,25 @@ $multipart = new MultipartStream([ ]); $queryParams = [ - 'size' => '2', - 'len' => '3' +'size' => '2', +'len' => '3' ]; $queryParamsStr = '?' . http_build_query($queryParams); $headers = [ - 'User-Agent' => 'Test Agent', - 'Keep-Alive' => 'true', - 'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +'User-Agent' => 'Test Agent', +'Keep-Alive' => 'true', +'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), ]; $client = new Client(); $request = new Request('post', 'https://api.apidash.dev/io/img'. $queryParamsStr , $headers, $multipart); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelPost9, "https"), @@ -655,7 +724,7 @@ use GuzzleHttp\Psr7\Request; $headers = [ - 'Content-Type' => 'application/json' +'Content-Type' => 'application/json' ]; $body = "{\n\"name\": \"morpheus\",\n\"job\": \"zion resident\"\n}"; @@ -664,7 +733,10 @@ $client = new Client(); $request = new Request('put', 'https://reqres.in/api/users/2' , $headers, $body); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode(CodegenLanguage.phpGuzzle, requestModelPut1, "https"), expectedCode); @@ -681,7 +753,7 @@ use GuzzleHttp\Psr7\Request; $headers = [ - 'Content-Type' => 'application/json' +'Content-Type' => 'application/json' ]; $body = "{\n\"name\": \"marfeus\",\n\"job\": \"accountant\"\n}"; @@ -690,7 +762,10 @@ $client = new Client(); $request = new Request('patch', 'https://reqres.in/api/users/2' , $headers, $body); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelPatch1, "https"), @@ -711,7 +786,10 @@ $client = new Client(); $request = new Request('delete', 'https://reqres.in/api/users/2' ); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelDelete1, "https"), @@ -727,7 +805,7 @@ use GuzzleHttp\Psr7\Request; $headers = [ - 'Content-Type' => 'application/json' +'Content-Type' => 'application/json' ]; $body = "{\n\"name\": \"marfeus\",\n\"job\": \"accountant\"\n}"; @@ -736,7 +814,10 @@ $client = new Client(); $request = new Request('delete', 'https://reqres.in/api/users/2' , $headers, $body); $res = $client->sendAsync($request)->wait(); -echo $res->getBody();"""; + +echo $res->getStatusCode() . "\n"; +echo $res->getBody(); +"""; expect( codeGen.getCode( CodegenLanguage.phpGuzzle, requestModelDelete2, "https"), From 427d0afe5addc07962ebab6878b714fe73d2a8b2 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sun, 14 Apr 2024 20:38:34 +0530 Subject: [PATCH 08/11] fixes --- lib/codegen/php/guzzle.dart | 88 ++++++--------- test/codegen/php_guzzle_codegen_test.dart | 126 ++++++++++++++-------- 2 files changed, 109 insertions(+), 105 deletions(-) diff --git a/lib/codegen/php/guzzle.dart b/lib/codegen/php/guzzle.dart index 659b1208..5ab8c39d 100644 --- a/lib/codegen/php/guzzle.dart +++ b/lib/codegen/php/guzzle.dart @@ -1,6 +1,6 @@ import 'package:jinja/jinja.dart' as jj; import 'package:apidash/utils/utils.dart' - show requestModelToHARJsonRequest, stripUrlParams; + show stripUrlParams; import 'package:apidash/models/models.dart' show RequestModel; import 'package:apidash/consts.dart'; @@ -16,7 +16,7 @@ use GuzzleHttp\\Psr7\\Request; """; String kMultiPartBodyTemplate = """ -\$multipart = new MultipartStream([ +\$body = new MultipartStream([ {{fields_list}} ]); @@ -41,7 +41,9 @@ use GuzzleHttp\\Psr7\\Request; """; String kTemplateBody = """ -\$body = {{body}}; +\$body = <<sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -80,84 +82,54 @@ echo $res->getBody(); result += renderedMultiPartBody; } - var harJson = - requestModelToHARJsonRequest(requestModel, useEnabled: true); - - var params = harJson["queryString"]; + var params = requestModel.enabledParamsMap; if (params.isNotEmpty) { var templateParams = jj.Template(kTemplateParams); - var m = {}; - for (var i in params) { - m[i["name"]] = i["value"]; - } - var jsonString = ''; - m.forEach((key, value) { - jsonString += "'$key' => '$value',\n"; + List paramList = []; + params.forEach((key, value) { + paramList.add("'$key' => '$value'"); }); - jsonString = jsonString.substring(0, jsonString.length - 2); result += templateParams.render({ - "params": jsonString, + "params": paramList.join(",\n"), }); } - var headers = harJson["headers"]; - if (headers.isNotEmpty || requestModel.hasFormData) { + var headers = requestModel.enabledHeadersMap; + List headerList = []; + if (headers.isNotEmpty || requestModel.hasBody) { var templateHeader = jj.Template(kTemplateHeader); - var m = {}; - for (var i in headers) { - m[i["name"]] = i["value"]; - } - var headersString = ''; - var contentTypeAdded = false; - - m.forEach((key, value) { - if (key == 'Content-Type' && value.contains('multipart/form-data')) { - contentTypeAdded = false; - } else { - headersString += "'$key' => '$value',\n"; - } + headers.forEach((key, value) { + headerList.add("'$key' => '$value'"); }); - if (requestModel.hasFormData && !contentTypeAdded) { - headersString += - "'Content-Type' => 'multipart/form-data; boundary=' . \$multipart->getBoundary(), \n"; + if(!requestModel.hasContentTypeHeader && requestModel.hasBody){ + if(requestModel.hasJsonData || requestModel.hasTextData){ + headerList.add("'$kHeaderContentType' => '${requestModel.requestBodyContentType.header}'"); + } + if(requestModel.hasFormData){ + headerList.add("'$kHeaderContentType' => '${requestModel.requestBodyContentType.header}; boundary=' . \$body->getBoundary()"); + } } - headersString = headersString.substring(0, headersString.length - 2); result += templateHeader.render({ - "headers": headersString, + "headers": headerList.join(",\n"), }); } var templateBody = jj.Template(kTemplateBody); - if (harJson["postData"]?["text"] != null) { + if (requestModel.hasJsonData || requestModel.hasTextData) { result += templateBody - .render({"body": kEncoder.convert(harJson["postData"]["text"])}); - } - - String getRequestBody(Map harJson) { - if (harJson.containsKey("postData")) { - var postData = harJson["postData"]; - if (postData.containsKey("mimeType")) { - var mimeType = postData["mimeType"]; - if (mimeType == "text/plain" || mimeType == "application/json") { - return " \$body"; - } else if (mimeType.contains("multipart/form-data")) { - return " \$multipart"; - } - } - } - return ""; + .render({"body": requestModel.requestBody}); } var templateRequest = jj.Template(kStringRequest); result += templateRequest.render({ "url": stripUrlParams(requestModel.url), - "method": harJson["method"].toLowerCase(), + "method": requestModel.method.name.toLowerCase(), "queryParams": - harJson["queryString"].isNotEmpty ? ". \$queryParamsStr" : "", - "headers": harJson["headers"].isNotEmpty ? ", \$headers," : "", - "body": getRequestBody(harJson), + params.isNotEmpty ? ". \$queryParamsStr" : "", + "headers": headerList.isNotEmpty ? ", \$headers" : "", + "body": requestModel.hasBody? ", \$body" : "", }); return result; diff --git a/test/codegen/php_guzzle_codegen_test.dart b/test/codegen/php_guzzle_codegen_test.dart index 2f23b1fc..6ed22ef8 100644 --- a/test/codegen/php_guzzle_codegen_test.dart +++ b/test/codegen/php_guzzle_codegen_test.dart @@ -17,7 +17,7 @@ use GuzzleHttp\Psr7\Request; $client = new Client(); -$request = new Request('get', 'https://api.apidash.dev' ); +$request = new Request('get', 'https://api.apidash.dev'); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -43,7 +43,7 @@ $queryParamsStr = '?' . http_build_query($queryParams); $client = new Client(); -$request = new Request('get', 'https://api.apidash.dev/country/data'. $queryParamsStr ); +$request = new Request('get', 'https://api.apidash.dev/country/data'. $queryParamsStr); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -69,7 +69,7 @@ $queryParamsStr = '?' . http_build_query($queryParams); $client = new Client(); -$request = new Request('get', 'https://api.apidash.dev/country/data'. $queryParamsStr ); +$request = new Request('get', 'https://api.apidash.dev/country/data'. $queryParamsStr); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -99,7 +99,7 @@ $queryParamsStr = '?' . http_build_query($queryParams); $client = new Client(); -$request = new Request('get', 'https://api.apidash.dev/humanize/social'. $queryParamsStr ); +$request = new Request('get', 'https://api.apidash.dev/humanize/social'. $queryParamsStr); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -124,7 +124,7 @@ $headers = [ $client = new Client(); -$request = new Request('get', 'https://api.github.com/repos/foss42/apidash' , $headers, ); +$request = new Request('get', 'https://api.github.com/repos/foss42/apidash', $headers); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -154,7 +154,7 @@ $headers = [ $client = new Client(); -$request = new Request('get', 'https://api.github.com/repos/foss42/apidash'. $queryParamsStr , $headers, ); +$request = new Request('get', 'https://api.github.com/repos/foss42/apidash'. $queryParamsStr, $headers); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -175,7 +175,7 @@ use GuzzleHttp\Psr7\Request; $client = new Client(); -$request = new Request('get', 'https://api.apidash.dev' ); +$request = new Request('get', 'https://api.apidash.dev'); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -205,7 +205,7 @@ $headers = [ $client = new Client(); -$request = new Request('get', 'https://api.github.com/repos/foss42/apidash'. $queryParamsStr , $headers, ); +$request = new Request('get', 'https://api.github.com/repos/foss42/apidash'. $queryParamsStr, $headers); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -232,7 +232,7 @@ $queryParamsStr = '?' . http_build_query($queryParams); $client = new Client(); -$request = new Request('get', 'https://api.apidash.dev/humanize/social'. $queryParamsStr ); +$request = new Request('get', 'https://api.apidash.dev/humanize/social'. $queryParamsStr); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -257,7 +257,7 @@ $headers = [ $client = new Client(); -$request = new Request('get', 'https://api.apidash.dev/humanize/social' , $headers, ); +$request = new Request('get', 'https://api.apidash.dev/humanize/social', $headers); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -292,7 +292,7 @@ $headers = [ $client = new Client(); -$request = new Request('get', 'https://api.apidash.dev/humanize/social'. $queryParamsStr , $headers, ); +$request = new Request('get', 'https://api.apidash.dev/humanize/social'. $queryParamsStr, $headers); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -314,7 +314,7 @@ use GuzzleHttp\Psr7\Request; $client = new Client(); -$request = new Request('get', 'https://api.apidash.dev/humanize/social' ); +$request = new Request('get', 'https://api.apidash.dev/humanize/social'); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -338,7 +338,7 @@ use GuzzleHttp\Psr7\Request; $client = new Client(); -$request = new Request('head', 'https://api.apidash.dev' ); +$request = new Request('head', 'https://api.apidash.dev'); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -360,7 +360,7 @@ use GuzzleHttp\Psr7\Request; $client = new Client(); -$request = new Request('head', 'http://api.apidash.dev' ); +$request = new Request('head', 'http://api.apidash.dev'); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -385,11 +385,15 @@ $headers = [ 'Content-Type' => 'text/plain' ]; -$body = "{\n\"text\": \"I LOVE Flutter\"\n}"; +$body = <<sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -413,11 +417,20 @@ $headers = [ 'Content-Type' => 'application/json' ]; -$body = "{\n\"text\": \"I LOVE Flutter\",\n\"flag\": null,\n\"male\": true,\n\"female\": false,\n\"no\": 1.2,\n\"arr\": [\"null\", \"true\", \"false\", null]\n}"; +$body = <<sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -438,15 +451,19 @@ use GuzzleHttp\Psr7\Request; $headers = [ -'Content-Type' => 'application/json', -'User-Agent' => 'Test Agent' +'User-Agent' => 'Test Agent', +'Content-Type' => 'application/json' ]; -$body = "{\n\"text\": \"I LOVE Flutter\"\n}"; +$body = <<sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -466,7 +483,7 @@ use GuzzleHttp\Client; use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\MultipartStream; -$multipart = new MultipartStream([ +$body = new MultipartStream([ [ 'name' => 'text', 'contents' => 'API' @@ -483,12 +500,12 @@ $multipart = new MultipartStream([ ]); $headers = [ -'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +'Content-Type' => 'multipart/form-data; boundary=' . $body->getBoundary() ]; $client = new Client(); -$request = new Request('post', 'https://api.apidash.dev/io/form' , $headers, $multipart); +$request = new Request('post', 'https://api.apidash.dev/io/form', $headers, $body); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -508,7 +525,7 @@ use GuzzleHttp\Client; use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\MultipartStream; -$multipart = new MultipartStream([ +$body = new MultipartStream([ [ 'name' => 'text', 'contents' => 'API' @@ -526,12 +543,12 @@ $multipart = new MultipartStream([ $headers = [ 'User-Agent' => 'Test Agent', -'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +'Content-Type' => 'multipart/form-data; boundary=' . $body->getBoundary() ]; $client = new Client(); -$request = new Request('post', 'https://api.apidash.dev/io/form' , $headers, $multipart); +$request = new Request('post', 'https://api.apidash.dev/io/form', $headers, $body); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -551,7 +568,7 @@ use GuzzleHttp\Client; use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\MultipartStream; -$multipart = new MultipartStream([ +$body = new MultipartStream([ [ 'name' => 'token', 'contents' => 'xyz' @@ -564,12 +581,12 @@ $multipart = new MultipartStream([ ]); $headers = [ -'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +'Content-Type' => 'multipart/form-data; boundary=' . $body->getBoundary() ]; $client = new Client(); -$request = new Request('post', 'https://api.apidash.dev/io/img' , $headers, $multipart); +$request = new Request('post', 'https://api.apidash.dev/io/img', $headers, $body); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -589,7 +606,7 @@ use GuzzleHttp\Client; use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\MultipartStream; -$multipart = new MultipartStream([ +$body = new MultipartStream([ [ 'name' => 'token', 'contents' => 'xyz' @@ -602,12 +619,12 @@ $multipart = new MultipartStream([ ]); $headers = [ -'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +'Content-Type' => 'multipart/form-data; boundary=' . $body->getBoundary() ]; $client = new Client(); -$request = new Request('post', 'https://api.apidash.dev/io/img' , $headers, $multipart); +$request = new Request('post', 'https://api.apidash.dev/io/img', $headers, $body); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -627,7 +644,7 @@ use GuzzleHttp\Client; use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\MultipartStream; -$multipart = new MultipartStream([ +$body = new MultipartStream([ [ 'name' => 'text', 'contents' => 'API' @@ -650,12 +667,12 @@ $queryParams = [ $queryParamsStr = '?' . http_build_query($queryParams); $headers = [ -'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +'Content-Type' => 'multipart/form-data; boundary=' . $body->getBoundary() ]; $client = new Client(); -$request = new Request('post', 'https://api.apidash.dev/io/form'. $queryParamsStr , $headers, $multipart); +$request = new Request('post', 'https://api.apidash.dev/io/form'. $queryParamsStr, $headers, $body); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -675,7 +692,7 @@ use GuzzleHttp\Client; use GuzzleHttp\Psr7\Request; use GuzzleHttp\Psr7\MultipartStream; -$multipart = new MultipartStream([ +$body = new MultipartStream([ [ 'name' => 'token', 'contents' => 'xyz' @@ -696,12 +713,12 @@ $queryParamsStr = '?' . http_build_query($queryParams); $headers = [ 'User-Agent' => 'Test Agent', 'Keep-Alive' => 'true', -'Content-Type' => 'multipart/form-data; boundary=' . $multipart->getBoundary(), +'Content-Type' => 'multipart/form-data; boundary=' . $body->getBoundary() ]; $client = new Client(); -$request = new Request('post', 'https://api.apidash.dev/io/img'. $queryParamsStr , $headers, $multipart); +$request = new Request('post', 'https://api.apidash.dev/io/img'. $queryParamsStr, $headers, $body); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -727,11 +744,16 @@ $headers = [ 'Content-Type' => 'application/json' ]; -$body = "{\n\"name\": \"morpheus\",\n\"job\": \"zion resident\"\n}"; +$body = <<sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -756,11 +778,16 @@ $headers = [ 'Content-Type' => 'application/json' ]; -$body = "{\n\"name\": \"marfeus\",\n\"job\": \"accountant\"\n}"; +$body = <<sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -784,7 +811,7 @@ use GuzzleHttp\Psr7\Request; $client = new Client(); -$request = new Request('delete', 'https://reqres.in/api/users/2' ); +$request = new Request('delete', 'https://reqres.in/api/users/2'); $res = $client->sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; @@ -808,11 +835,16 @@ $headers = [ 'Content-Type' => 'application/json' ]; -$body = "{\n\"name\": \"marfeus\",\n\"job\": \"accountant\"\n}"; +$body = <<sendAsync($request)->wait(); echo $res->getStatusCode() . "\n"; From df691c258f114455c8be32fe06784258168b4362 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sun, 14 Apr 2024 21:02:46 +0530 Subject: [PATCH 09/11] stream array fixes --- lib/codegen/php/guzzle.dart | 7 ++++--- test/codegen/php_guzzle_codegen_test.dart | 18 ++++++------------ 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/lib/codegen/php/guzzle.dart b/lib/codegen/php/guzzle.dart index 5ab8c39d..0cdacf43 100644 --- a/lib/codegen/php/guzzle.dart +++ b/lib/codegen/php/guzzle.dart @@ -72,12 +72,13 @@ echo $res->getBody(); var templateMultiPartBody = jj.Template(kMultiPartBodyTemplate); var renderedMultiPartBody = templateMultiPartBody.render({ "fields_list": requestModel.formDataMapList.map((field) { - return ''' + var row = ''' [ 'name' => '${field['name']}', 'contents' => '${field['value']}' - ],\n'''; - }).join(), + ]'''; + return row; + }).join(",\n"), }); result += renderedMultiPartBody; } diff --git a/test/codegen/php_guzzle_codegen_test.dart b/test/codegen/php_guzzle_codegen_test.dart index 6ed22ef8..455f5ac7 100644 --- a/test/codegen/php_guzzle_codegen_test.dart +++ b/test/codegen/php_guzzle_codegen_test.dart @@ -495,8 +495,7 @@ $body = new MultipartStream([ [ 'name' => 'times', 'contents' => '3' - ], - + ] ]); $headers = [ @@ -537,8 +536,7 @@ $body = new MultipartStream([ [ 'name' => 'times', 'contents' => '3' - ], - + ] ]); $headers = [ @@ -576,8 +574,7 @@ $body = new MultipartStream([ [ 'name' => 'imfile', 'contents' => '/Documents/up/1.png' - ], - + ] ]); $headers = [ @@ -614,8 +611,7 @@ $body = new MultipartStream([ [ 'name' => 'imfile', 'contents' => '/Documents/up/1.png' - ], - + ] ]); $headers = [ @@ -656,8 +652,7 @@ $body = new MultipartStream([ [ 'name' => 'times', 'contents' => '3' - ], - + ] ]); $queryParams = [ @@ -700,8 +695,7 @@ $body = new MultipartStream([ [ 'name' => 'imfile', 'contents' => '/Documents/up/1.png' - ], - + ] ]); $queryParams = [ From 459a9b20ba4000e773f1c707ffc83d389a9e1403 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sun, 14 Apr 2024 21:11:49 +0530 Subject: [PATCH 10/11] naming fixes --- lib/codegen/php/guzzle.dart | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/codegen/php/guzzle.dart b/lib/codegen/php/guzzle.dart index 0cdacf43..24e9ba2b 100644 --- a/lib/codegen/php/guzzle.dart +++ b/lib/codegen/php/guzzle.dart @@ -5,7 +5,7 @@ import 'package:apidash/models/models.dart' show RequestModel; import 'package:apidash/consts.dart'; class PhpGuzzleCodeGen { - String kStringImportNode = """getBody(); String? getCode(RequestModel requestModel) { try { - jj.Template kNodejsImportTemplate = jj.Template(kStringImportNode); - String importsData = kNodejsImportTemplate.render({ + var templateImport = jj.Template(kTemplateImport); + String importsData = templateImport.render({ "hasFormData": requestModel.hasFormData, }); String result = importsData; - if (requestModel.hasFormData && requestModel.formDataMapList.isNotEmpty) { - var templateMultiPartBody = jj.Template(kMultiPartBodyTemplate); + if (requestModel.hasFormData) { + var templateMultiPartBody = jj.Template(kTemplateMultiPartBody); var renderedMultiPartBody = templateMultiPartBody.render({ "fields_list": requestModel.formDataMapList.map((field) { var row = ''' @@ -123,7 +123,7 @@ echo $res->getBody(); .render({"body": requestModel.requestBody}); } - var templateRequest = jj.Template(kStringRequest); + var templateRequest = jj.Template(kTemplateRequest); result += templateRequest.render({ "url": stripUrlParams(requestModel.url), "method": requestModel.method.name.toLowerCase(), From 1764c373fbbb77532aea937d7e0f701221dbfaa3 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sun, 14 Apr 2024 21:18:32 +0530 Subject: [PATCH 11/11] fix fopen --- lib/codegen/php/guzzle.dart | 6 +++--- test/codegen/php_guzzle_codegen_test.dart | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/codegen/php/guzzle.dart b/lib/codegen/php/guzzle.dart index 24e9ba2b..ce0ebef6 100644 --- a/lib/codegen/php/guzzle.dart +++ b/lib/codegen/php/guzzle.dart @@ -71,11 +71,11 @@ echo $res->getBody(); if (requestModel.hasFormData) { var templateMultiPartBody = jj.Template(kTemplateMultiPartBody); var renderedMultiPartBody = templateMultiPartBody.render({ - "fields_list": requestModel.formDataMapList.map((field) { + "fields_list": requestModel.formDataList.map((field) { var row = ''' [ - 'name' => '${field['name']}', - 'contents' => '${field['value']}' + 'name' => '${field.name}', + 'contents' => ${field.type == FormDataType.file? "fopen('${field.value}', 'r')":"'${field.value}'"} ]'''; return row; }).join(",\n"), diff --git a/test/codegen/php_guzzle_codegen_test.dart b/test/codegen/php_guzzle_codegen_test.dart index 455f5ac7..91240781 100644 --- a/test/codegen/php_guzzle_codegen_test.dart +++ b/test/codegen/php_guzzle_codegen_test.dart @@ -573,7 +573,7 @@ $body = new MultipartStream([ ], [ 'name' => 'imfile', - 'contents' => '/Documents/up/1.png' + 'contents' => fopen('/Documents/up/1.png', 'r') ] ]); @@ -610,7 +610,7 @@ $body = new MultipartStream([ ], [ 'name' => 'imfile', - 'contents' => '/Documents/up/1.png' + 'contents' => fopen('/Documents/up/1.png', 'r') ] ]); @@ -694,7 +694,7 @@ $body = new MultipartStream([ ], [ 'name' => 'imfile', - 'contents' => '/Documents/up/1.png' + 'contents' => fopen('/Documents/up/1.png', 'r') ] ]);