mirror of
https://github.com/Bubuni-Team/telegram-bot.git
synced 2026-07-31 00:29:24 +03:00
Merge pull request #30 from Bubuni-Team/patch/rss_relative_uri
Fix URL building for feeds with relative URLs
This commit is contained in:
@@ -30,7 +30,7 @@ namespace Kruzya.TelegramBot.RichSiteSummary.Data
|
|||||||
|
|
||||||
protected override string ViewableUrl
|
protected override string ViewableUrl
|
||||||
{
|
{
|
||||||
get => UtmUtility.ApplyParameters(Url, new UtmParameters()
|
get => UtmUtility.ApplyParameters(new Uri(new(Feed.Url), Url), new UtmParameters()
|
||||||
{
|
{
|
||||||
Source = "telegram",
|
Source = "telegram",
|
||||||
Type = "rss_post",
|
Type = "rss_post",
|
||||||
|
|||||||
@@ -9,16 +9,18 @@ namespace Kruzya.TelegramBot.RichSiteSummary.UrchinTrackingModule
|
|||||||
public class UtmUtility
|
public class UtmUtility
|
||||||
{
|
{
|
||||||
public static string ApplyParameters(string url, UtmParameters parameters)
|
public static string ApplyParameters(string url, UtmParameters parameters)
|
||||||
|
=> ApplyParameters(new Uri(url), parameters);
|
||||||
|
|
||||||
|
public static string ApplyParameters(Uri uri, UtmParameters parameters)
|
||||||
{
|
{
|
||||||
var uri = new Uri(url);
|
|
||||||
var query = HttpUtility.ParseQueryString(uri.Query);
|
var query = HttpUtility.ParseQueryString(uri.Query);
|
||||||
|
|
||||||
SetIfNotNull(query, "utm_source", parameters.Source);
|
SetIfNotNull(query, "utm_source", parameters.Source);
|
||||||
SetIfNotNull(query, "utm_medium", parameters.Type);
|
SetIfNotNull(query, "utm_medium", parameters.Type);
|
||||||
SetIfNotNull(query, "utm_campaign", parameters.Campaign);
|
SetIfNotNull(query, "utm_campaign", parameters.Campaign);
|
||||||
SetIfNotNull(query, "utm_term", parameters.Term);
|
SetIfNotNull(query, "utm_term", parameters.Term);
|
||||||
SetIfNotNull(query, "utm_content", parameters.Content);
|
SetIfNotNull(query, "utm_content", parameters.Content);
|
||||||
|
|
||||||
var uriBuilder = new UriBuilder(uri);
|
var uriBuilder = new UriBuilder(uri);
|
||||||
uriBuilder.Query = BuildQueryString(query);
|
uriBuilder.Query = BuildQueryString(query);
|
||||||
return uriBuilder.ToString();
|
return uriBuilder.ToString();
|
||||||
|
|||||||
Reference in New Issue
Block a user