@@ -21,17 +21,22 @@ public static class HttpUtils
2121
2222 public static string AddQueryParam ( this string url , string key , object val , bool encode = true )
2323 {
24- return url . AddQueryParam ( key , val . ToString ( ) , encode ) ;
24+ return url . AddQueryParam ( key , val ? . ToString ( ) , encode ) ;
2525 }
2626
2727 public static string AddQueryParam ( this string url , object key , string val , bool encode = true )
2828 {
29- return AddQueryParam ( url , ( key ?? "" ) . ToString ( ) , val , encode ) ;
29+ return AddQueryParam ( url , key ? . ToString ( ) , val , encode ) ;
3030 }
3131
3232 public static string AddQueryParam ( this string url , string key , string val , bool encode = true )
3333 {
34- if ( string . IsNullOrEmpty ( url ) ) return null ;
34+ if ( url == null )
35+ url = "" ;
36+
37+ if ( key == null || val == null )
38+ return url ;
39+
3540 var prefix = string . Empty ;
3641 if ( ! url . EndsWith ( "?" ) && ! url . EndsWith ( "&" ) )
3742 {
@@ -42,7 +47,12 @@ public static string AddQueryParam(this string url, string key, string val, bool
4247
4348 public static string SetQueryParam ( this string url , string key , string val )
4449 {
45- if ( string . IsNullOrEmpty ( url ) ) return null ;
50+ if ( url == null )
51+ url = "" ;
52+
53+ if ( key == null || val == null )
54+ return url ;
55+
4656 var qsPos = url . IndexOf ( '?' ) ;
4757 if ( qsPos != - 1 )
4858 {
@@ -69,19 +79,29 @@ public static string SetQueryParam(this string url, string key, string val)
6979
7080 public static string AddHashParam ( this string url , string key , object val )
7181 {
72- return url . AddHashParam ( key , val . ToString ( ) ) ;
82+ return url . AddHashParam ( key , val ? . ToString ( ) ) ;
7383 }
7484
7585 public static string AddHashParam ( this string url , string key , string val )
7686 {
77- if ( string . IsNullOrEmpty ( url ) ) return null ;
87+ if ( url == null )
88+ url = "" ;
89+
90+ if ( key == null || val == null )
91+ return url ;
92+
7893 var prefix = url . IndexOf ( '#' ) == - 1 ? "#" : "/" ;
7994 return url + prefix + key + "=" + val . UrlEncode ( ) ;
8095 }
8196
8297 public static string SetHashParam ( this string url , string key , string val )
8398 {
84- if ( string . IsNullOrEmpty ( url ) ) return null ;
99+ if ( url == null )
100+ url = "" ;
101+
102+ if ( key == null || val == null )
103+ return url ;
104+
85105 var hPos = url . IndexOf ( '#' ) ;
86106 if ( hPos != - 1 )
87107 {
0 commit comments