URLEncodedFormEncoder
public final class URLEncodedFormEncoder
An object that encodes instances into URL-encoded query strings.
There is no published specification for how to encode collection types. By default, the convention of appending
[] to the key for array values (foo[]=1&foo[]=2), and appending the key surrounded by square brackets for
nested dictionary values (foo[bar]=baz) is used. Optionally, ArrayEncoding can be used to omit the
square brackets appended to array keys.
BoolEncoding can be used to configure how Bool values are encoded. The default behavior is to encode
true as 1 and false as 0.
DateEncoding can be used to configure how Date values are encoded. By default, the .deferredToDate
strategy is used, which formats dates from their structure.
SpaceEncoding can be used to configure how spaces are encoded. Modern encodings use percent replacement (%20),
while older encodings may expect spaces to be replaced with +.
This type is largely based on Vapor’s url-encoded-form project.
-
Encoding to use for
See moreArrayvalues.Declaration
Swift
public enum ArrayEncoding -
Encoding to use for
See moreBoolvalues.Declaration
Swift
public enum BoolEncoding -
Encoding to use for
See moreDatavalues.Declaration
Swift
public enum DataEncoding -
Encoding to use for
See moreDatevalues.Declaration
Swift
public enum DateEncoding -
Encoding to use for keys.
This type is derived from
See moreJSONEncoder‘sKeyEncodingStrategyandXMLEncodersKeyEncodingStrategy.Declaration
Swift
public enum KeyEncoding -
Encoding to use for spaces.
See moreDeclaration
Swift
public enum SpaceEncoding -
See moreURLEncodedFormEncodererror.Declaration
Swift
public enum Error : Swift.Error -
Whether or not to sort the encoded key value pairs.
Note
This setting ensures a consistent ordering for all encodings of the same parameters. When set tofalse, encodedDictionaryvalues may have a different encoded order each time they’re encoded due toDictionary‘s random storage order, butEncodabletypes will maintain their encoded order.Declaration
Swift
public let alphabetizeKeyValuePairs: Bool -
The
ArrayEncodingto use.Declaration
Swift
public let arrayEncoding: ArrayEncoding -
The
BoolEncodingto use.Declaration
Swift
public let boolEncoding: BoolEncoding -
THe
DataEncodingto use.Declaration
Swift
public let dataEncoding: DataEncoding -
The
DateEncodingto use.Declaration
Swift
public let dateEncoding: DateEncoding -
The
KeyEncodingto use.Declaration
Swift
public let keyEncoding: KeyEncoding -
The
SpaceEncodingto use.Declaration
Swift
public let spaceEncoding: SpaceEncoding -
The
CharacterSetof allowed (non-escaped) characters.Declaration
Swift
public var allowedCharacters: CharacterSet -
init(alphabetizeKeyValuePairs:arrayEncoding: boolEncoding: dataEncoding: dateEncoding: keyEncoding: spaceEncoding: allowedCharacters: ) Creates an instance from the supplied parameters.
Declaration
Swift
public init(alphabetizeKeyValuePairs: Bool = true, arrayEncoding: ArrayEncoding = .brackets, boolEncoding: BoolEncoding = .numeric, dataEncoding: DataEncoding = .base64, dateEncoding: DateEncoding = .deferredToDate, keyEncoding: KeyEncoding = .useDefaultKeys, spaceEncoding: SpaceEncoding = .percentEscaped, allowedCharacters: CharacterSet = .afURLQueryAllowed)Parameters
alphabetizeKeyValuePairsWhether or not to sort the encoded key value pairs.
trueby default.arrayEncodingThe
ArrayEncodingto use..bracketsby default.boolEncodingThe
BoolEncodingto use..numericby default.dataEncodingThe
DataEncodingto use..base64by default.dateEncodingThe
DateEncodingto use..deferredToDateby default.keyEncodingThe
KeyEncodingto use..useDefaultKeysby default.spaceEncodingThe
SpaceEncodingto use..percentEscapedby default.allowedCharactersThe
CharacterSetof allowed (non-escaped) characters..afURLQueryAllowedby default. -
Encodes the
valueas a URL form encodedString.Throws
An
ErrororEncodingErrorinstance if encoding fails.Declaration
Swift
public func encode(_ value: Encodable) throws -> StringParameters
valueThe
Encodablevalue.`Return Value
The encoded
String. -
Encodes the value as
Data. This is performed by first creating an encodedStringand then returning the.utf8data.Throws
An
ErrororEncodingErrorinstance if encoding fails.Declaration
Swift
public func encode(_ value: Encodable) throws -> DataParameters
valueThe
Encodablevalue.Return Value
The encoded
Data.
View on GitHub
Install in Dash
URLEncodedFormEncoder Class Reference