Enum uriparse::scheme::Scheme[][src]

pub enum Scheme<'scheme> {
    AAA,
    AAAS,
    About,
    ACAP,
    ACCT,
    ACR,
    AdiumXtra,
    AFP,
    AFS,
    AIM,
    AppData,
    APT,
    Attachment,
    AW,
    Barion,
    BeShare,
    Bitcoin,
    Blob,
    Bolo,
    BrowserExt,
    CallTo,
    CAP,
    Chrome,
    ChromeExtension,
    CID,
    CoAP,
    CoAPTCP,
    CoAPWS,
    CoAPS,
    CoAPSTCP,
    CoAPSWS,
    ComEventBriteAttendee,
    Content,
    Conti,
    CRID,
    CVS,
    Data,
    DAV,
    Diaspora,
    DICT,
    DID,
    DIS,
    DLNAPlayContainer,
    DLNAPlaySingle,
    DNS,
    DNTP,
    DTN,
    DVB,
    ED2K,
    ELSI,
    Example,
    FaceTime,
    Fax,
    Feed,
    FeedReady,
    File,
    FileSystem,
    Finger,
    Fish,
    FTP,
    Geo,
    GG,
    Git,
    GizmoProject,
    Go,
    Gopher,
    Graph,
    GTalk,
    H323,
    HAM,
    HCAP,
    HCP,
    HTTP,
    HTTPS,
    HXXP,
    HXXPS,
    HydraZone,
    IAX,
    ICAP,
    Icon,
    IM,
    IMAP,
    Info,
    IoTDisc,
    IPN,
    IPP,
    IPPS,
    IRC,
    IRC6,
    IRCS,
    IRIS,
    IRISBEEP,
    IRISLWZ,
    IRISXPC,
    IRISXPCS,
    IsoStore,
    ITMS,
    Jabber,
    JAR,
    JMS,
    KeyParc,
    LastFM,
    LDAP,
    LDAPS,
    LVLT,
    Magnet,
    MailServer,
    MailTo,
    Maps,
    Market,
    Message,
    MicrosoftWindowsCamera,
    MicrosoftWindowsCameraMultiPicker,
    MicrosoftWindowsCameraPicker,
    MID,
    MMS,
    Modem,
    MongoDB,
    Moz,
    MSAccess,
    MSBrowserExtension,
    MSDriverTo,
    MSEnrollment,
    MSExcel,
    MSGameBarServices,
    MSGamingOverlay,
    MSGetOffice,
    MSHelp,
    MSInfoPath,
    MSInputApp,
    MSLockScreenComponentConfig,
    MSMediaStreamID,
    MSMixedRealityCapture,
    MSOfficeApp,
    MSPeople,
    MSProject,
    MSPowerPoint,
    MSPublisher,
    MSRestoreTabCompanion,
    MSSearchRepair,
    MSSecondaryScreenController,
    MSSeocndaryScreenSetup,
    MSSettings,
    MSSettingsAirplaneMode,
    MSSettingsBluetooth,
    MSSettingsCamera,
    MSSettingsCellular,
    MSSettingsCloudStorage,
    MSSettingsConnectableDevices,
    MSSettingsDisplaysTopology,
    MSSettingsEmailAndAccounts,
    MSSettingsLanguage,
    MSSettingsLocation,
    MSSettingsLock,
    MSSettingsNFCTransactions,
    MSSettingsNotifications,
    MSSettingsPower,
    MSSettingsPrivacy,
    MSSettingsProximity,
    MSSettingsScreenRotation,
    MSSettingsWiFi,
    MSSettingsWorkplace,
    MSSPD,
    MSSTTOverlay,
    MSTransitTo,
    MSUserActivitySet,
    MSVirtualTouchPad,
    MSVisio,
    MSWalkTo,
    MSWhiteboard,
    MSWhiteboardCMD,
    MSWord,
    MSNIM,
    MSRP,
    MSRPS,
    MTQP,
    Mumble,
    MUpdate,
    MVN,
    News,
    NFS,
    NI,
    NIH,
    NNTP,
    Notes,
    OCF,
    OID,
    OneNote,
    OneNoteCMD,
    OpaqueLockToken,
    OpenPGP4FPR,
    Pack,
    Palm,
    Paparazzi,
    PKCKS11,
    Platform,
    POP,
    Pres,
    Prospero,
    Proxy,
    PWID,
    PSYC,
    QB,
    Query,
    Redis,
    RedisS,
    Reload,
    Res,
    Resource,
    RMI,
    RSync,
    RTMFP,
    RTMP,
    RTSP,
    RTSPS,
    RTSPU,
    SecondLife,
    Service,
    Session,
    SFTP,
    SGN,
    SHTTP,
    Sieve,
    SIP,
    SIPS,
    SimpleLedger,
    Skype,
    SMB,
    SMS,
    SMTP,
    SNews,
    SNMP,
    SOAPBEEP,
    SOAPBEEPS,
    Soldat,
    SPIFFE,
    Spotify,
    SSH,
    Steam,
    STUN,
    STUNS,
    Submit,
    SVN,
    Tag,
    TeamSpeak,
    Tel,
    TeliaEID,
    Telnet,
    TFTP,
    Things,
    ThisMessage,
    TIP,
    TN3270,
    Tool,
    TURN,
    TURNS,
    TV,
    UDP,
    Unreal,
    URN,
    UT2004,
    VEvent,
    VEMMI,
    Ventrilo,
    Videotex,
    VNC,
    ViewSource,
    WAIS,
    Webcal,
    WPID,
    WS,
    WSS,
    WTAI,
    WYCIWYG,
    XCON,
    XCONUserID,
    Xfire,
    XMLRPCBEEP,
    XMLRPCBEEPS,
    XMPP,
    XRI,
    YMSGR,
    Z3950,
    Z3950R,
    Z3950S,
    Unregistered(UnregisteredScheme<'scheme>),
}

The scheme component as defined in [RFC3986, Section 3.5]. The schemes listed here come from iana.org. Any scheme not listed there is considered unregistered and will be contained in [Scheme::UnregisteredScheme].

An unregistered scheme is case-insensitive. Furthermore, percent-encoding is not allowed in schemes.

Variants

Methods

impl<'scheme> Scheme<'scheme>
[src]

Returns a str representation of the scheme.

The case of the scheme will be lowercase if it was a registered scheme. Otherwise, the string representation will be exactly that of the original string including case-sensitivity.

Examples

use std::convert::TryFrom;

use uriparse::Scheme;

assert_eq!(Scheme::HTTP.as_str(), "http");

let scheme = Scheme::try_from("TEST-scheme").unwrap();
assert_eq!(scheme.as_str(), "TEST-scheme");

Converts the Scheme into an owned copy.

If you construct the scheme from a source with a non-static lifetime, you may run into lifetime problems due to the way it is designed. Calling this function will ensure that the returned value has a static lifetime.

This is different from just cloning. Cloning the scheme will just copy the references (in the case of an unregistered scheme), and thus the lifetime will remain the same.

Returns the registration status of the scheme.

Examples

use uriparse::{Scheme, SchemeStatus};

assert_eq!(Scheme::HTTP.status(), SchemeStatus::Permanent);

Trait Implementations

impl<'scheme> AsRef<[u8]> for Scheme<'scheme>
[src]

Important traits for &'a [u8]

Performs the conversion.

impl<'scheme> AsRef<str> for Scheme<'scheme>
[src]

Performs the conversion.

impl<'scheme> Display for Scheme<'scheme>
[src]

Formats the value using the given formatter. Read more

impl<'scheme> From<Scheme<'scheme>> for String
[src]

Performs the conversion.

impl<'scheme> PartialEq<str> for Scheme<'scheme>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<'scheme> PartialEq<Scheme<'scheme>> for str
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<'a, 'scheme> PartialEq<&'a str> for Scheme<'scheme>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<'a, 'scheme> PartialEq<Scheme<'scheme>> for &'a str
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<'scheme> TryFrom<&'scheme [u8]> for Scheme<'scheme>
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<'scheme> TryFrom<&'scheme str> for Scheme<'scheme>
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<'scheme> Clone for Scheme<'scheme>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<'scheme> Debug for Scheme<'scheme>
[src]

Formats the value using the given formatter. Read more

impl<'scheme> Eq for Scheme<'scheme>
[src]

impl<'scheme> Hash for Scheme<'scheme>
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

impl<'scheme> PartialEq for Scheme<'scheme>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

impl<'scheme> Send for Scheme<'scheme>

impl<'scheme> Sync for Scheme<'scheme>