add support for attach destUser in Query Params ...

This commit is contained in:
2025-08-11 17:18:56 +03:30
parent 219bb5ab84
commit b41c52b9ca
+62 -17
View File
@@ -1,10 +1,14 @@
using System.ComponentModel.DataAnnotations;
using AutoMapper.Mappers;
using RestSharp;
using xCommons.Constants;
using xCommons.Extensions;
using xModels.Dtos;
namespace xHttpService.Extensions {
public static partial class RestSharpExtensions {
namespace xHttpService.Extensions
{
public static partial class RestSharpExtensions
{
/// <summary>
/// Attach an instance of XQuery to a RestRequest object
/// </summary>
@@ -14,9 +18,11 @@ namespace xHttpService.Extensions {
public static RestRequest AttachXQuery(
this RestRequest source,
XQuery query
) {
)
{
//
if (query.IsNull ()) {
if (query.IsNull())
{
return source;
}
@@ -35,7 +41,8 @@ namespace xHttpService.Extensions {
//
// Filter ...
if (!query.Filter.IsNullOrEmpty ()) {
if (!query.Filter.IsNullOrEmpty())
{
//
var key = System.Uri.EscapeDataString(nameof(query.Filter));
var value = query.Filter.AsHttpParamString();
@@ -44,7 +51,8 @@ namespace xHttpService.Extensions {
//
// SortBy ...
if (!query.SortBy.IsNullOrEmpty ()) {
if (!query.SortBy.IsNullOrEmpty())
{
//
var key = System.Uri.EscapeDataString(nameof(query.SortBy));
var value = query.SortBy.AsHttpParamString();
@@ -53,7 +61,8 @@ namespace xHttpService.Extensions {
//
// Page ...
if (query.Page > 0) {
if (query.Page > 0)
{
//
var key = System.Uri.EscapeDataString(nameof(query.Page));
var value = query.Page.AsHttpParamString();
@@ -62,7 +71,8 @@ namespace xHttpService.Extensions {
//
// PageSize ...
if (query.PageSize > 0) {
if (query.PageSize > 0)
{
//
var key = System.Uri.EscapeDataString(nameof(query.PageSize));
var value = query.PageSize.AsHttpParamString();
@@ -82,15 +92,18 @@ namespace xHttpService.Extensions {
public static RestRequest AttachXPageRequest(
this RestRequest source,
XPageRequest request
) {
)
{
//
if (request.IsNull ()) {
if (request.IsNull())
{
return source;
}
//
// First ...
if (request.First.HasValue) {
if (request.First.HasValue)
{
//
var key = System.Uri.EscapeDataString(nameof(request.First));
var value = request.First.AsHttpParamString();
@@ -99,7 +112,8 @@ namespace xHttpService.Extensions {
//
// Last ...
if (request.Last.HasValue) {
if (request.Last.HasValue)
{
//
var key = System.Uri.EscapeDataString(nameof(request.Last));
var value = request.Last.AsHttpParamString();
@@ -108,7 +122,8 @@ namespace xHttpService.Extensions {
//
// After ...
if (!request.After.IsNullOrEmpty ()) {
if (!request.After.IsNullOrEmpty())
{
//
var key = System.Uri.EscapeDataString(nameof(request.After));
var value = request.After.AsHttpParamString();
@@ -117,7 +132,8 @@ namespace xHttpService.Extensions {
//
// Before ...
if (!request.Before.IsNullOrEmpty ()) {
if (!request.Before.IsNullOrEmpty())
{
//
var key = System.Uri.EscapeDataString(nameof(request.Before));
var value = request.Before.AsHttpParamString();
@@ -126,7 +142,8 @@ namespace xHttpService.Extensions {
//
// SortBy ...
if (!request.SortBy.IsNullOrEmpty ()) {
if (!request.SortBy.IsNullOrEmpty())
{
//
var key = System.Uri.EscapeDataString(nameof(request.SortBy));
var value = request.SortBy.AsHttpParamString();
@@ -143,6 +160,32 @@ namespace xHttpService.Extensions {
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;
}
/// <summary>
/// Add XPoweredBy Header to specific RestRequest Headers ...
/// </summary>
@@ -152,7 +195,8 @@ namespace xHttpService.Extensions {
public static RestRequest AddXPoweredBy(
this RestRequest source,
string poweredByValue
) {
)
{
//
source.AddHeader(
XAuthorization.XPoweredBy,
@@ -172,7 +216,8 @@ namespace xHttpService.Extensions {
public static RestRequest AddXAccessToken(
this RestRequest source,
string token
) {
)
{
//
token = $"{XAuthentication.BEARER} {token}";