mirror of
https://github.com/bitwarden/browser
synced 2025-12-18 09:13:33 +00:00
[PM-19914][PM-19913] trim domains and long fields in forwarders (#14141)
* PM-19913: Added max length to the generated_for and description peroperties in the FirefoxRelay API payload * [PM-19913] Added maxLength restriction to the website and generatedBy methods. Added maxLength limit of 200 to the description of addy.io
This commit is contained in:
@@ -79,24 +79,40 @@ export class IntegrationContext<Settings extends object> {
|
||||
|
||||
/** look up the website the integration is working with.
|
||||
* @param request supplies information about the state of the extension site
|
||||
* @param options optional parameters
|
||||
* @param options.extractHostname when `true`, tries to extract the hostname from the website URL, returns full URL otherwise
|
||||
* @param options.maxLength limits the length of the return value
|
||||
* @returns The website or an empty string if a website isn't available
|
||||
* @remarks `website` is usually supplied when generating a credential from the vault
|
||||
*/
|
||||
website(request: IntegrationRequest) {
|
||||
return request.website ?? "";
|
||||
website(
|
||||
request: IntegrationRequest,
|
||||
options?: { extractHostname?: boolean; maxLength?: number },
|
||||
) {
|
||||
let url = request.website ?? "";
|
||||
if (options?.extractHostname) {
|
||||
url = Utils.getHost(url) ?? url;
|
||||
}
|
||||
return url.slice(0, options?.maxLength);
|
||||
}
|
||||
|
||||
/** look up localized text indicating Bitwarden requested the forwarding address.
|
||||
* @param request supplies information about the state of the extension site
|
||||
* @param options optional parameters
|
||||
* @param options.extractHostname when `true`, extracts the hostname from the website URL
|
||||
* @param options.maxLength limits the length of the return value
|
||||
* @returns localized text describing a generated forwarding address
|
||||
*/
|
||||
generatedBy(request: IntegrationRequest) {
|
||||
const website = this.website(request);
|
||||
generatedBy(
|
||||
request: IntegrationRequest,
|
||||
options?: { extractHostname?: boolean; maxLength?: number },
|
||||
) {
|
||||
const website = this.website(request, { extractHostname: options?.extractHostname ?? false });
|
||||
|
||||
const descriptionId =
|
||||
website === "" ? "forwarderGeneratedBy" : "forwarderGeneratedByWithWebsite";
|
||||
const description = this.i18n.t(descriptionId, website);
|
||||
|
||||
return description;
|
||||
return description.slice(0, options?.maxLength);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user