php.md.blade.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. @if($endpoint->hasHeadersOrQueryOrBodyParams())
  8. $response = $client->{{ strtolower($endpoint->httpMethods[0]) }}(
  9. '{{ rtrim($baseUrl, '/') . '/' . ltrim($endpoint->boundUri, '/') }}',
  10. [
  11. @if(!empty($endpoint->headers))@php
  12. // We don't need the Content-Type header because Guzzle sets it automatically when you use json or multipart.
  13. $headers = $endpoint->headers;
  14. unset($headers['Content-Type']);
  15. @endphp
  16. 'headers' => {!! u::printPhpValue($headers, 8) !!},
  17. @endif
  18. @if(!empty($endpoint->cleanQueryParameters))
  19. 'query' => {!! u::printQueryParamsAsKeyValue($endpoint->cleanQueryParameters, "'", "=>", 12, "[]", 8) !!},
  20. @endif
  21. @if($endpoint->hasFiles())
  22. 'multipart' => [
  23. @foreach($endpoint->cleanBodyParameters as $parameter => $value)
  24. @foreach(u::getParameterNamesAndValuesForFormData($parameter, $value) as $key => $actualValue)
  25. [
  26. 'name' => '{!! $key !!}',
  27. 'contents' => '{!! $actualValue !!}'
  28. ],
  29. @endforeach
  30. @endforeach
  31. @foreach($endpoint->fileParameters as $parameter => $value)
  32. @foreach(u::getParameterNamesAndValuesForFormData($parameter, $value) as $key => $file)
  33. [
  34. 'name' => '{!! $key !!}',
  35. 'contents' => fopen('{!! $file->path() !!}', 'r')
  36. ],
  37. @endforeach
  38. @endforeach
  39. ],
  40. @elseif(!empty($endpoint->cleanBodyParameters))
  41. @if ($endpoint->headers['Content-Type'] == 'application/x-www-form-urlencoded')
  42. 'form_params' => {!! u::printPhpValue($endpoint->cleanBodyParameters, 8) !!},
  43. @else
  44. 'json' => {!! u::printPhpValue($endpoint->cleanBodyParameters, 8) !!},
  45. @endif
  46. @endif
  47. ]
  48. );
  49. @else
  50. $response = $client->{{ strtolower($endpoint->httpMethods[0]) }}('{{ rtrim($baseUrl, '/') . '/' . ltrim($endpoint->boundUri, '/') }}');
  51. @endif
  52. $body = $response->getBody();
  53. print_r(json_decode((string) $body));
  54. ```