RequestStatusProperty.fromCrawledProperty constructor

RequestStatusProperty.fromCrawledProperty(
  1. CrawledProperty property
)

Implementation

factory RequestStatusProperty.fromCrawledProperty(CrawledProperty property) {
  assert(
    property.name.toUpperCase() == "REQUEST-STATUS",
    "Received invalid property: ${property.name}",
  );

  final parts = property.value.split(";");

  return RequestStatusProperty(
    FloatValue.fromCrawledStringValue(parts[0]).value,
    TextValue.fromCrawledStringValue(parts[1]).value,
    extraData: parts.length < 2
        ? null
        : TextValue.fromCrawledStringValue(parts[2]).value,
    locale: property.parameters
            .where(LanguageParameter.testCrawledParameter)
            .isEmpty
        ? null
        : property.parameters
            .where(LanguageParameter.testCrawledParameter)
            .map((e) => LanguageParameter.fromCrawledParameter(e))
            .first
            .locale,
  );
}