Example #1
0
 /**
  * Create response from string
  *
  * @param string $string
  *
  * @return $this
  */
 public static function fromString($string)
 {
     /** @var Discover $message */
     $message = new static();
     foreach (explode(PHP_EOL, trim($string)) as $line) {
         $tuple = explode(':', trim($line), 2);
         if (2 == count($tuple)) {
             $value = trim(array_pop($tuple));
             switch (strtoupper(array_pop($tuple))) {
                 case 'CACHE-CONTROL':
                     $message->setLifetime(intval(substr($value, strpos($value, '=') + 1)));
                     break;
                 case 'DATE':
                     $message->setDate(new DateTime($value));
                     break;
                 case 'LOCATION':
                     $message->setDescriptionUrl(Url::factory($value));
                     break;
                 case 'SERVER':
                     $message->setServerString($value);
                     break;
                 case 'ST':
                     $message->setSearchTarget(SearchTarget::fromString($value));
                     break;
                 case 'USN':
                     $message->setUniqueServiceName(UniqueServiceName::fromString($value));
                     break;
             }
         }
     }
     return $message;
 }
Example #2
0
 /**
  * Get search target
  *
  * @return SearchTarget
  */
 public function getSearchTarget()
 {
     if (is_null($this->searchTarget)) {
         return SearchTarget::fromString();
     }
     return $this->searchTarget;
 }
Example #3
0
 /**
  * Get search target
  *
  * @return SearchTarget
  */
 public function getSearchTarget()
 {
     if (null === $this->searchTarget) {
         return SearchTarget::fromString(self::DEFAULT_SEARCH_TARGET);
     }
     return $this->searchTarget;
 }