Prefer URL constructor over url dependency
This commit is contained in:
@@ -14,11 +14,8 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
import url from 'url';
|
||||
|
||||
import SdkConfig from '../SdkConfig';
|
||||
import { MatrixClientPeg } from '../MatrixClientPeg';
|
||||
import { urlSearchParamsToObject } from "./UrlUtils";
|
||||
|
||||
export function getHostingLink(campaign) {
|
||||
const hostingLink = SdkConfig.get().hosting_signup_link;
|
||||
@@ -28,11 +25,8 @@ export function getHostingLink(campaign) {
|
||||
if (MatrixClientPeg.get().getDomain() !== 'matrix.org') return null;
|
||||
|
||||
try {
|
||||
const hostingUrl = url.parse(hostingLink);
|
||||
const params = urlSearchParamsToObject(new URLSearchParams(hostingUrl.query));
|
||||
params.utm_campaign = campaign;
|
||||
hostingUrl.search = undefined;
|
||||
hostingUrl.query = params;
|
||||
const hostingUrl = new URL(hostingLink);
|
||||
hostingUrl.searchParams.set("utm_campaign", campaign);
|
||||
return hostingUrl.format();
|
||||
} catch (e) {
|
||||
return hostingLink;
|
||||
|
||||
@@ -16,10 +16,6 @@ limitations under the License.
|
||||
|
||||
import * as url from "url";
|
||||
|
||||
export function urlSearchParamsToObject<T extends {}>(params: URLSearchParams) {
|
||||
return <T>Object.fromEntries([...params.entries()]);
|
||||
}
|
||||
|
||||
/**
|
||||
* If a url has no path component, etc. abbreviate it to just the hostname
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user