code: private function doSend(Receiver $receiver, Notification $notification, bool $sandbox): void
      {
          $payloadEncoded = $this->payloadEncoder->encode($notification->getPayload());
          $uri = $this->uriFactory->create($receiver->getToken(), $sandbox);
  
          $request = new Request($uri, $payloadEncoded);
  
          $headers = [
              'content-type' => 'application/json',
              'accept'       => 'application/json',
              'apns-topic'   => $receiver->getTopic(),
          ];
  
          $request = $request->withHeaders($headers);
          $request = $this->authenticator->authenticate($request);
  
          $request = $this->visitor->visit($notification, $request);
  
          $response = $this->httpSender->send($request);
  
          if ($response->getStatusCode() !== 200) {
              throw $this->exceptionFactory->create($response);
          }
      }
docs: Inner send process
  
  @param Receiver     $receiver
  @param Notification $notification
  @param bool         $sandbox
  
  @throws SendNotificationException
  @throws HttpSenderException