Donner SVG 0.8.0-pre
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
donner::parser::DataUrlParser Class Reference

Parse a URL, which can be an external resource or a data URL. More...

#include "donner/base/parser/DataUrlParser.h"

Classes

struct  Options
struct  Result
 Result of parsing a data URL or external URL. More...

Static Public Member Functions

static std::variant< Result, DataUrlParserErrorParse (std::string_view uri)
 Parse a URL, which can be an external resource or a data URL.
static std::variant< Result, DataUrlParserErrorParse (std::string_view uri, const Options &options)
 Parse with an explicit encoded-input limit.

Static Public Attributes

static constexpr size_t kDefaultMaximumInputSize = 16 * 1024 * 1024
 Default maximum URI length accepted from untrusted input.
static constexpr size_t kDefaultMaximumExternalUrlSize = 4096
 Default maximum external URL length retained by the parser.

Detailed Description

Parse a URL, which can be an external resource or a data URL.

A data URL will be parsed into the raw data it contains, while an external URL will be returned as a string.


Class Documentation

◆ donner::parser::DataUrlParser::Options

struct donner::parser::DataUrlParser::Options
Class Members
size_t maximumExternalUrlSize = kDefaultMaximumExternalUrlSize Maximum number of bytes accepted for a non-data URL before copying it.
size_t maximumInputSize = kDefaultMaximumInputSize Maximum number of encoded URI bytes accepted before decoding.

Member Function Documentation

◆ Parse()

std::variant< Result, DataUrlParserError > donner::parser::DataUrlParser::Parse ( std::string_view uri)
static

Parse a URL, which can be an external resource or a data URL.

Parameters
uriThe URL-encoded string to parse.
Returns
Result containing the parsed URL kind and payload, or an error if the input is not valid.

The documentation for this class was generated from the following file: