code: private function requestGate(string $method, string $path, array $header = [], array $body = [], array $options = []): string
      {
          if (empty($this->accessToken)) {
              $this->renewAuthToken();
          }
  
          $request = new \GuzzleHttp\Psr7\Request(
              $method,
              $path,
              array_merge(
                  $this->options->get('default_headers'),
                  $header
              ),
              $this->createBodyForRequest(
                  $this->prepareMultipartData($body)
              )
          );
  
          return (string) $this->sendRequest($request);
      }
docs: one gate menu for request creation.
  
  @param \One\Collection|array $body