mirror of
https://github.com/AsamK/signal-cli
synced 2025-09-02 12:30:39 +00:00
Added feedback
This commit is contained in:
parent
57d57508fb
commit
b3764a5467
2 changed files with 18 additions and 9 deletions
|
@ -9,25 +9,31 @@ import java.util.Optional;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
|
||||||
* Data URI record that follows RFC 2397.
|
|
||||||
*
|
|
||||||
* @param mediaType the media type. If empty, the default media type "text/plain" is used.
|
|
||||||
* @param parameter the list of parameters. Must be URL escaped encoded.
|
|
||||||
* @param data the data. If base64 is not given, the data is treated as ASCII string.
|
|
||||||
*/
|
|
||||||
@SuppressWarnings({"java:S6218"})
|
@SuppressWarnings({"java:S6218"})
|
||||||
public record DataURI(String mediaType, Map<String, String> parameter, byte[] data) {
|
public record DataURI(String mediaType, Map<String, String> parameter, byte[] data) {
|
||||||
|
|
||||||
public static final Pattern DATA_URI_PATTERN = Pattern.compile(
|
public static final Pattern DATA_URI_PATTERN = Pattern.compile(
|
||||||
"data:(?<type>.+?\\/.+?)?(?<parameters>;.+?)?(?<base64>;base64)?,(?<data>.+)",
|
"\\Adata:(?<type>.+?/.+?)?(?<parameters>;.+?=.+?)?(?<base64>;base64)?,(?<data>.+)\\z",
|
||||||
Pattern.CASE_INSENSITIVE);
|
Pattern.CASE_INSENSITIVE);
|
||||||
public static final Pattern PARAMETER_PATTERN = Pattern.compile("\\G;(?<key>.+)=(?<value>.+)",
|
public static final Pattern PARAMETER_PATTERN = Pattern.compile("\\G;(?<key>.+)=(?<value>.+)",
|
||||||
Pattern.CASE_INSENSITIVE);
|
Pattern.CASE_INSENSITIVE);
|
||||||
public static final String DEFAULT_TYPE = "text/plain";
|
public static final String DEFAULT_TYPE = "text/plain";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates a new {@link DataURI} object from the given string.
|
* Generates a new {@link DataURI} object that follows
|
||||||
|
* <a href="https://datatracker.ietf.org/doc/html/rfc2397">RFC 2397</a> from the given string.
|
||||||
|
* <p>
|
||||||
|
* The {@code dataURI} must be of the form:
|
||||||
|
* <p>
|
||||||
|
* {@code
|
||||||
|
* data:[<mediatype>][;base64],<data>
|
||||||
|
* }
|
||||||
|
* <p>
|
||||||
|
* The {@code <mediatype>} is an Internet media type specification (with
|
||||||
|
* optional parameters.) The appearance of ";base64" means that the data
|
||||||
|
* is encoded as base64. Without ";base64", the data is represented using (ASCII) URL Escaped encoding.
|
||||||
|
* If {@code <mediatype>} is omitted, it defaults to {@link DataURI#DEFAULT_TYPE}.
|
||||||
|
* Parameter values should use the URL Escaped encoding.
|
||||||
*
|
*
|
||||||
* @param dataURI the data URI
|
* @param dataURI the data URI
|
||||||
* @return a data URI object
|
* @return a data URI object
|
||||||
|
|
|
@ -231,6 +231,9 @@ Read the message from standard input.
|
||||||
|
|
||||||
*-a* [ATTACHMENT [ATTACHMENT ...]], *--attachment* [ATTACHMENT [ATTACHMENT ...]]::
|
*-a* [ATTACHMENT [ATTACHMENT ...]], *--attachment* [ATTACHMENT [ATTACHMENT ...]]::
|
||||||
Add one or more files as attachment.
|
Add one or more files as attachment.
|
||||||
|
Data URI encoded attachments can be added and must follow the RFC 2397.
|
||||||
|
Additionally a file name can be added:
|
||||||
|
e.g.: `data:<MIME-TYPE>;filename=<FILENAME>;base64,<BASE64 ENCODED DATA>`
|
||||||
|
|
||||||
*--sticker* STICKER::
|
*--sticker* STICKER::
|
||||||
Send a sticker of a locally known sticker pack (syntax: stickerPackId:stickerId).
|
Send a sticker of a locally known sticker pack (syntax: stickerPackId:stickerId).
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue