/**
  * parse body to find url.
  *
  * @param string $body
  *
  * @throws InvalidBalancerUrlException
  *
  * @return string
  */
 public function parseUrl($body)
 {
     if (!preg_match('/https?:\\/\\/[^\\"]+/', $body, $matches)) {
         $invalidBalancerUrlException = new InvalidBalancerUrlException();
         $invalidBalancerUrlException->setUrl($body);
         throw $invalidBalancerUrlException;
     }
     return trim($matches[0]);
 }
 public function testImplements()
 {
     $exception = new InvalidBalancerUrlException();
     $this->assertEquals('Balancer URL is invalid', $exception->getMessage());
     $this->assertAttributeEquals(null, 'url', $exception);
     $this->assertEquals(null, $exception->getUrl());
     $url = ['value' => 1];
     $exception->setUrl($url);
     $this->assertAttributeEquals($url, 'url', $exception);
     $this->assertEquals($url, $exception->getUrl());
 }