Open
Description
Supporting RFC4466 as well as the basic ABNF in RFC3501 will give significant forward compatibility, allowing us to partially parse some other extensions which we don't (yet?) otherwise support. Additionally, RFC4466 support is necessary for RFC9051.
- Parse unknown or unsupported extensions using RFC4466
tagged-ext
syntax- Parse
tagged-ext-val
(done as part of ⚡ Better Faster CleanerSTATUS
parsing #225) - Add
ExtensionData
(done as part of ⚡ Better Faster CleanerSTATUS
parsing #225) - Add TaggedExtensionData (with
#to_hash
) #127 - Add ExtensionDataList (with
#to_ary
) #128 - Add UnparsedData (with
#to_str
) #129
(also usable for non-RFC4466 extension data)
- Parse
- RFC4466 2.1: Optional Parameters with the
#select
/#examine
Commands- Add arbitrary kwargs to
#select
/#examine
, usingselect-params
syntax (RFC4466 tagged-ext) #124 - Add kwargs to
#select
/#examine
for existingselect-param
extensions
- Add arbitrary kwargs to
- RFC4466 2.2: Extended
#create
Command- Add arbitrary kwargs to
#create
, usingcreate-params
syntax (RFC4466 tagged-ext) #126 - Add kwargs to
#create
for existingcreate-param
extensions
- Add arbitrary kwargs to
- RFC4466 2.3: Extended
#rename
Command - RFC4466 2.4: Extensions to
#fetch
and#uid_fetch
Commands- Add arbitrary kwargs to
#fetch
/#uid_fetch
, using RFC4466 tagged-ext syntax #133 - Add kwargs to
#fetch
/#uid_fetch
for existingfetch-modifier
extensions
- Add arbitrary kwargs to
- RFC4422 2.6: Extensions to
#search
Command- RFC4422 2.6.1: Extended
SEARCH
command #115- Add arbitrary return opts to
#search
, usingsearch-return-opts
syntax (RFC4466 tagged-ext)
- Add arbitrary return opts to
- RFC4422 2.6.2:
ESEARCH
untagged response #121- Parse RFC9051
esearch-response
andsearch-response-data
#120 - Parse all existing
search-return-data
extensions directly
- Parse RFC9051
- RFC4422 2.6.1: Extended
- RFC4422 2.7: Extensions to
#append
Command- BINARY
- LITERAL+
- MULTIAPPEND