php.md.blade.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. @php
  2. use Knuckles\Scribe\Tools\WritingUtils as u;
  3. /** @var Knuckles\Camel\Output\OutputEndpointData $endpoint */
  4. @endphp
  5. ```php
  6. $client = new \GuzzleHttp\Client();
  7. $url = '{!! rtrim($baseUrl, '/') . '/' . ltrim($endpoint->boundUri, '/') !!}';
  8. @if($endpoint->hasHeadersOrQueryOrBodyParams())
  9. $response = $client->{{ strtolower($endpoint->httpMethods[0]) }}(
  10. $url,
  11. [
  12. @if(!empty($endpoint->headers))
  13. 'headers' => {!! u::printPhpValue($endpoint->headers, 8) !!},
  14. @endif
  15. @if(!empty($endpoint->cleanQueryParameters))
  16. 'query' => {!! u::printQueryParamsAsKeyValue($endpoint->cleanQueryParameters, "'", " =>", 12, "[]", 8) !!},
  17. @endif
  18. @if($endpoint->hasFiles() || (isset($endpoint->headers['Content-Type']) && $endpoint->headers['Content-Type'] == 'multipart/form-data' && !empty($endpoint->cleanBodyParameters)))
  19. 'multipart' => [
  20. @foreach($endpoint->cleanBodyParameters as $parameter => $value)
  21. @foreach(u::getParameterNamesAndValuesForFormData($parameter, $value) as $key => $actualValue)
  22. [
  23. 'name' => '{!! $key !!}',
  24. 'contents' => '{!! $actualValue !!}'
  25. ],
  26. @endforeach
  27. @endforeach
  28. @foreach($endpoint->fileParameters as $parameter => $value)
  29. @foreach(u::getParameterNamesAndValuesForFormData($parameter, $value) as $key => $file)
  30. [
  31. 'name' => '{!! $key !!}',
  32. 'contents' => fopen('{!! $file->path() !!}', 'r')
  33. ],
  34. @endforeach
  35. @endforeach
  36. ],
  37. @elseif(count($endpoint->cleanBodyParameters))
  38. @if ($endpoint->headers['Content-Type'] == 'application/x-www-form-urlencoded')
  39. 'form_params' => {!! u::printPhpValue($endpoint->cleanBodyParameters, 8) !!},
  40. @else
  41. 'json' => {!! u::printPhpValue($endpoint->cleanBodyParameters, 8) !!},
  42. @endif
  43. @endif
  44. ]
  45. );
  46. @else
  47. $response = $client->{{ strtolower($endpoint->httpMethods[0]) }}($url);
  48. @endif
  49. $body = $response->getBody();
  50. print_r(json_decode((string) $body));
  51. ```