add support for attach destUser in Query Params ...
This commit is contained in:
@@ -1,72 +1,82 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using AutoMapper.Mappers;
|
||||||
using RestSharp;
|
using RestSharp;
|
||||||
using xCommons.Constants;
|
using xCommons.Constants;
|
||||||
using xCommons.Extensions;
|
using xCommons.Extensions;
|
||||||
using xModels.Dtos;
|
using xModels.Dtos;
|
||||||
|
|
||||||
namespace xHttpService.Extensions {
|
namespace xHttpService.Extensions
|
||||||
public static partial class RestSharpExtensions {
|
{
|
||||||
|
public static partial class RestSharpExtensions
|
||||||
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Attach an instance of XQuery to a RestRequest object
|
/// Attach an instance of XQuery to a RestRequest object
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="source"></param>
|
/// <param name="source"></param>
|
||||||
/// <param name="query"></param>
|
/// <param name="query"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static RestRequest AttachXQuery (
|
public static RestRequest AttachXQuery(
|
||||||
this RestRequest source,
|
this RestRequest source,
|
||||||
XQuery query
|
XQuery query
|
||||||
) {
|
)
|
||||||
|
{
|
||||||
//
|
//
|
||||||
if (query.IsNull ()) {
|
if (query.IsNull())
|
||||||
|
{
|
||||||
return source;
|
return source;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// ContainsDetail ...
|
// ContainsDetail ...
|
||||||
//
|
//
|
||||||
var containsDetailKey = System.Uri.EscapeDataString (nameof (query.ContainsDetail));
|
var containsDetailKey = System.Uri.EscapeDataString(nameof(query.ContainsDetail));
|
||||||
var containsDetailValue = query.ContainsDetail.AsHttpParamString ();
|
var containsDetailValue = query.ContainsDetail.AsHttpParamString();
|
||||||
source.AddQueryParameter (containsDetailKey, containsDetailValue);
|
source.AddQueryParameter(containsDetailKey, containsDetailValue);
|
||||||
|
|
||||||
//
|
//
|
||||||
// IsAscending ...
|
// IsAscending ...
|
||||||
var isAscendingKey = System.Uri.EscapeDataString (nameof (query.IsAscending));
|
var isAscendingKey = System.Uri.EscapeDataString(nameof(query.IsAscending));
|
||||||
var isAscendingValue = query.IsAscending.AsHttpParamString ();
|
var isAscendingValue = query.IsAscending.AsHttpParamString();
|
||||||
source.AddQueryParameter (isAscendingKey, isAscendingValue);
|
source.AddQueryParameter(isAscendingKey, isAscendingValue);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Filter ...
|
// Filter ...
|
||||||
if (!query.Filter.IsNullOrEmpty ()) {
|
if (!query.Filter.IsNullOrEmpty())
|
||||||
|
{
|
||||||
//
|
//
|
||||||
var key = System.Uri.EscapeDataString (nameof (query.Filter));
|
var key = System.Uri.EscapeDataString(nameof(query.Filter));
|
||||||
var value = query.Filter.AsHttpParamString ();
|
var value = query.Filter.AsHttpParamString();
|
||||||
source.AddQueryParameter (key, value);
|
source.AddQueryParameter(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// SortBy ...
|
// SortBy ...
|
||||||
if (!query.SortBy.IsNullOrEmpty ()) {
|
if (!query.SortBy.IsNullOrEmpty())
|
||||||
|
{
|
||||||
//
|
//
|
||||||
var key = System.Uri.EscapeDataString (nameof (query.SortBy));
|
var key = System.Uri.EscapeDataString(nameof(query.SortBy));
|
||||||
var value = query.SortBy.AsHttpParamString ();
|
var value = query.SortBy.AsHttpParamString();
|
||||||
source.AddQueryParameter (key, value);
|
source.AddQueryParameter(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Page ...
|
// Page ...
|
||||||
if (query.Page > 0) {
|
if (query.Page > 0)
|
||||||
|
{
|
||||||
//
|
//
|
||||||
var key = System.Uri.EscapeDataString (nameof (query.Page));
|
var key = System.Uri.EscapeDataString(nameof(query.Page));
|
||||||
var value = query.Page.AsHttpParamString ();
|
var value = query.Page.AsHttpParamString();
|
||||||
source.AddQueryParameter (key, value);
|
source.AddQueryParameter(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// PageSize ...
|
// PageSize ...
|
||||||
if (query.PageSize > 0) {
|
if (query.PageSize > 0)
|
||||||
|
{
|
||||||
//
|
//
|
||||||
var key = System.Uri.EscapeDataString (nameof (query.PageSize));
|
var key = System.Uri.EscapeDataString(nameof(query.PageSize));
|
||||||
var value = query.PageSize.AsHttpParamString ();
|
var value = query.PageSize.AsHttpParamString();
|
||||||
source.AddQueryParameter (key, value);
|
source.AddQueryParameter(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
@@ -79,65 +89,98 @@ namespace xHttpService.Extensions {
|
|||||||
/// <param name="source"></param>
|
/// <param name="source"></param>
|
||||||
/// <param name="request"></param>
|
/// <param name="request"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static RestRequest AttachXPageRequest (
|
public static RestRequest AttachXPageRequest(
|
||||||
this RestRequest source,
|
this RestRequest source,
|
||||||
XPageRequest request
|
XPageRequest request
|
||||||
) {
|
)
|
||||||
|
{
|
||||||
//
|
//
|
||||||
if (request.IsNull ()) {
|
if (request.IsNull())
|
||||||
|
{
|
||||||
return source;
|
return source;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// First ...
|
// First ...
|
||||||
if (request.First.HasValue) {
|
if (request.First.HasValue)
|
||||||
|
{
|
||||||
//
|
//
|
||||||
var key = System.Uri.EscapeDataString (nameof (request.First));
|
var key = System.Uri.EscapeDataString(nameof(request.First));
|
||||||
var value = request.First.AsHttpParamString ();
|
var value = request.First.AsHttpParamString();
|
||||||
source.AddQueryParameter (key, value);
|
source.AddQueryParameter(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Last ...
|
// Last ...
|
||||||
if (request.Last.HasValue) {
|
if (request.Last.HasValue)
|
||||||
|
{
|
||||||
//
|
//
|
||||||
var key = System.Uri.EscapeDataString (nameof (request.Last));
|
var key = System.Uri.EscapeDataString(nameof(request.Last));
|
||||||
var value = request.Last.AsHttpParamString ();
|
var value = request.Last.AsHttpParamString();
|
||||||
source.AddQueryParameter (key, value);
|
source.AddQueryParameter(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// After ...
|
// After ...
|
||||||
if (!request.After.IsNullOrEmpty ()) {
|
if (!request.After.IsNullOrEmpty())
|
||||||
|
{
|
||||||
//
|
//
|
||||||
var key = System.Uri.EscapeDataString (nameof (request.After));
|
var key = System.Uri.EscapeDataString(nameof(request.After));
|
||||||
var value = request.After.AsHttpParamString ();
|
var value = request.After.AsHttpParamString();
|
||||||
source.AddQueryParameter (key, value);
|
source.AddQueryParameter(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Before ...
|
// Before ...
|
||||||
if (!request.Before.IsNullOrEmpty ()) {
|
if (!request.Before.IsNullOrEmpty())
|
||||||
|
{
|
||||||
//
|
//
|
||||||
var key = System.Uri.EscapeDataString (nameof (request.Before));
|
var key = System.Uri.EscapeDataString(nameof(request.Before));
|
||||||
var value = request.Before.AsHttpParamString ();
|
var value = request.Before.AsHttpParamString();
|
||||||
source.AddQueryParameter (key, value);
|
source.AddQueryParameter(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// SortBy ...
|
// SortBy ...
|
||||||
if (!request.SortBy.IsNullOrEmpty ()) {
|
if (!request.SortBy.IsNullOrEmpty())
|
||||||
|
{
|
||||||
//
|
//
|
||||||
var key = System.Uri.EscapeDataString (nameof (request.SortBy));
|
var key = System.Uri.EscapeDataString(nameof(request.SortBy));
|
||||||
var value = request.SortBy.AsHttpParamString ();
|
var value = request.SortBy.AsHttpParamString();
|
||||||
source.AddQueryParameter (key, value);
|
source.AddQueryParameter(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// DescendingSort ...
|
// DescendingSort ...
|
||||||
var descendingSortKey = System.Uri.EscapeDataString (nameof (request.DescendingSort));
|
var descendingSortKey = System.Uri.EscapeDataString(nameof(request.DescendingSort));
|
||||||
var descendingSortValue = request.DescendingSort.AsHttpParamString ();
|
var descendingSortValue = request.DescendingSort.AsHttpParamString();
|
||||||
source.AddQueryParameter (descendingSortKey, descendingSortValue);
|
source.AddQueryParameter(descendingSortKey, descendingSortValue);
|
||||||
|
|
||||||
|
//
|
||||||
|
return source;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Add Dest User to Query Strings ...
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="source"></param>
|
||||||
|
/// <param name="destUser"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static RestRequest AttachDestUser(
|
||||||
|
this RestRequest source,
|
||||||
|
string destUser
|
||||||
|
)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
if (destUser.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
return source;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
var destUserKey = System.Uri.EscapeDataString(nameof(destUser));
|
||||||
|
var destUserValue = destUser.AsHttpParamString();
|
||||||
|
source.AddQueryParameter(destUserKey, destUserValue);
|
||||||
|
|
||||||
//
|
//
|
||||||
return source;
|
return source;
|
||||||
@@ -149,12 +192,13 @@ namespace xHttpService.Extensions {
|
|||||||
/// <param name="source"></param>
|
/// <param name="source"></param>
|
||||||
/// <param name="poweredByValue"></param>
|
/// <param name="poweredByValue"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static RestRequest AddXPoweredBy (
|
public static RestRequest AddXPoweredBy(
|
||||||
this RestRequest source,
|
this RestRequest source,
|
||||||
string poweredByValue
|
string poweredByValue
|
||||||
) {
|
)
|
||||||
|
{
|
||||||
//
|
//
|
||||||
source.AddHeader (
|
source.AddHeader(
|
||||||
XAuthorization.XPoweredBy,
|
XAuthorization.XPoweredBy,
|
||||||
poweredByValue
|
poweredByValue
|
||||||
);
|
);
|
||||||
@@ -169,15 +213,16 @@ namespace xHttpService.Extensions {
|
|||||||
/// <param name="source"></param>
|
/// <param name="source"></param>
|
||||||
/// <param name="poweredByValue"></param>
|
/// <param name="poweredByValue"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static RestRequest AddXAccessToken (
|
public static RestRequest AddXAccessToken(
|
||||||
this RestRequest source,
|
this RestRequest source,
|
||||||
string token
|
string token
|
||||||
) {
|
)
|
||||||
|
{
|
||||||
//
|
//
|
||||||
token = $"{XAuthentication.BEARER} {token}";
|
token = $"{XAuthentication.BEARER} {token}";
|
||||||
|
|
||||||
//
|
//
|
||||||
source.AddHeader (
|
source.AddHeader(
|
||||||
XAuthorization.Header,
|
XAuthorization.Header,
|
||||||
token
|
token
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user