[mod] source:ics_feed:try-catch for ics parsing
This commit is contained in:
parent
eac0831e64
commit
213d1324bb
|
|
@ -159,10 +159,32 @@ class class_source_ics_feed
|
||||||
case 200:
|
case 200:
|
||||||
{
|
{
|
||||||
$ics = $response->getBody();
|
$ics = $response->getBody();
|
||||||
|
try
|
||||||
|
{
|
||||||
$vcalendar = \davina\helpers\ics\vcalendar_decode($ics);
|
$vcalendar = \davina\helpers\ics\vcalendar_decode($ics);
|
||||||
|
}
|
||||||
|
catch (\Throwable $throwable)
|
||||||
|
{
|
||||||
|
\error_log(
|
||||||
|
\davina\helpers\string_\coin(
|
||||||
|
'could not parse ics: {{reason}}',
|
||||||
|
[
|
||||||
|
'reason' => \strval($throwable),
|
||||||
|
]
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$valendar = null;
|
||||||
|
}
|
||||||
|
if ($vcalendar === null)
|
||||||
|
{
|
||||||
|
throw (new \Exception('could not parse ics'));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
$calendar = $this->vcalendar_to_calendar($vcalendar, $realm_name);
|
$calendar = $this->vcalendar_to_calendar($vcalendar, $realm_name);
|
||||||
$calendar_raw = \davina\model\calendar_to_raw($calendar);
|
$calendar_raw = \davina\model\calendar_to_raw($calendar);
|
||||||
return $calendar_raw;
|
return $calendar_raw;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue