{
  "schemaVersion": 1,
  "sourceRef": "main",
  "projects": [
    "Exhaustion",
    "Outcome",
    "RestClient.Net",
    "RestClient.Net.McpGenerator",
    "RestClient.Net.OpenApiGenerator"
  ],
  "types": [
    {
      "id": "T:Exhaustion.ExhaustionAnalyzer",
      "name": "ExhaustionAnalyzer",
      "displayName": "Exhaustion.ExhaustionAnalyzer",
      "namespace": "Exhaustion",
      "project": "Exhaustion",
      "kind": "class",
      "signature": "[DiagnosticAnalyzer(LanguageNames.CSharp)]\r\npublic class ExhaustionAnalyzer : DiagnosticAnalyzer",
      "docs": {
        "summary": "Analyzer that enforces exhaustive pattern matching for closed type hierarchies.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "Exhaustion/ExhaustionAnalyzer.cs",
        "line": 18,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Exhaustion/ExhaustionAnalyzer.cs#L18"
      },
      "url": "/api/reference/exhaustion-exhaustionanalyzer/",
      "members": [
        {
          "id": "F:Exhaustion.ExhaustionAnalyzer.AnalysisLimitDiagnosticId",
          "anchor": "analysislimitdiagnosticid-7bb723278d11",
          "name": "AnalysisLimitDiagnosticId",
          "kind": "field",
          "signature": "public const string AnalysisLimitDiagnosticId = DiagnosticRules.AnalysisLimitDiagnosticId;",
          "docs": {
            "summary": "Diagnostic ID when exhaustive coverage cannot be determined within the analysis budget.",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Exhaustion/ExhaustionAnalyzer.cs",
            "line": 29,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Exhaustion/ExhaustionAnalyzer.cs#L29"
          }
        },
        {
          "id": "F:Exhaustion.ExhaustionAnalyzer.DiagnosticId",
          "anchor": "diagnosticid-2cd8afa01dea",
          "name": "DiagnosticId",
          "kind": "field",
          "signature": "public const string DiagnosticId = DiagnosticRules.DiagnosticId;",
          "docs": {
            "summary": "Diagnostic ID for exhaustive pattern matching warnings.",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Exhaustion/ExhaustionAnalyzer.cs",
            "line": 24,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Exhaustion/ExhaustionAnalyzer.cs#L24"
          }
        },
        {
          "id": "M:Exhaustion.ExhaustionAnalyzer.Initialize(Microsoft.CodeAnalysis.Diagnostics.AnalysisContext)",
          "anchor": "initialize-e901e3843129",
          "name": "Initialize",
          "kind": "method",
          "signature": "public override void Initialize(AnalysisContext context);",
          "docs": {
            "summary": "Initializes the analyzer by registering actions for switch expressions and statements.",
            "remarks": "",
            "returns": "",
            "parameters": [
              {
                "name": "context",
                "description": "The analysis context."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "context",
              "type": "AnalysisContext",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Exhaustion/ExhaustionAnalyzer.cs",
            "line": 41,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Exhaustion/ExhaustionAnalyzer.cs#L41"
          }
        },
        {
          "id": "P:Exhaustion.ExhaustionAnalyzer.SupportedDiagnostics",
          "anchor": "supporteddiagnostics-f3267bff60e5",
          "name": "SupportedDiagnostics",
          "kind": "property",
          "signature": "public override ImmutableArray\u003CDiagnosticDescriptor\u003E SupportedDiagnostics { get; }",
          "docs": {
            "summary": "Gets the collection of diagnostic descriptors supported by this analyzer.",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Exhaustion/ExhaustionAnalyzer.cs",
            "line": 34,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Exhaustion/ExhaustionAnalyzer.cs#L34"
          }
        }
      ]
    },
    {
      "id": "T:Outcome.HttpError\u00601",
      "name": "HttpError",
      "displayName": "Outcome.HttpError\u003CTError\u003E",
      "namespace": "Outcome",
      "project": "Outcome",
      "kind": "class",
      "signature": "public abstract partial record HttpError\u003CTError\u003E",
      "docs": {
        "summary": "Represents HTTP-specific errors that can occur during web requests. This sealed hierarchy ensures complete error handling coverage for HTTP operations. Follows the functional programming principle of making illegal states unrepresentable by using a discriminated union instead of inheritance hierarchies.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": [
          {
            "name": "TError",
            "description": "The type representing parsed error response bodies."
          }
        ]
      },
      "parameters": [],
      "source": {
        "file": "Outcome/HttpError.cs",
        "line": 17,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/HttpError.cs#L17"
      },
      "url": "/api/reference/outcome-httperror-1/",
      "members": [
        {
          "id": "M:Outcome.HttpError\u00601.FromErrorResponse(\u00600,System.Net.HttpStatusCode,System.Net.Http.Headers.HttpResponseHeaders)",
          "anchor": "fromerrorresponse-70a5fb2ee411",
          "name": "FromErrorResponse",
          "kind": "method",
          "signature": "public static HttpError\u003CTError\u003E FromErrorResponse(TError body, HttpStatusCode statusCode, HttpResponseHeaders headers);",
          "docs": {
            "summary": "Creates an HttpError from an error response. This is the canonical way to represent structured API errors.",
            "remarks": "",
            "returns": "An ErrorResponseError containing the error details.",
            "parameters": [
              {
                "name": "body",
                "description": "The parsed error response body."
              },
              {
                "name": "statusCode",
                "description": "The HTTP status code."
              },
              {
                "name": "headers",
                "description": "The HTTP response headers."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "body",
              "type": "TError",
              "modifiers": "",
              "default": null
            },
            {
              "name": "statusCode",
              "type": "HttpStatusCode",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "HttpResponseHeaders",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/HttpError.cs",
            "line": 76,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/HttpError.cs#L76"
          }
        },
        {
          "id": "M:Outcome.HttpError\u00601.FromException(System.Exception)",
          "anchor": "fromexception-2fc022620a3f",
          "name": "FromException",
          "kind": "method",
          "signature": "public static HttpError\u003CTError\u003E FromException(Exception exception);",
          "docs": {
            "summary": "Creates an HttpError from an exception. This is the canonical way to represent infrastructure errors.",
            "remarks": "",
            "returns": "An ExceptionError containing the exception.",
            "parameters": [
              {
                "name": "exception",
                "description": "The exception that occurred."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "exception",
              "type": "Exception",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/HttpError.cs",
            "line": 65,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/HttpError.cs#L65"
          }
        },
        {
          "id": "M:Outcome.HttpError\u00601.IsErrorResponseError(\u00600@,System.Net.HttpStatusCode@,System.Net.Http.Headers.HttpResponseHeaders@)",
          "anchor": "iserrorresponseerror-42716182c45e",
          "name": "IsErrorResponseError",
          "kind": "method",
          "signature": "public bool IsErrorResponseError(out TError body, out HttpStatusCode statusCode, out HttpResponseHeaders? headers);",
          "docs": {
            "summary": "Attempts to extract the ErrorResponseError details from this HttpError. Returns true if this is an ErrorResponseError and outputs the details. Returns false if this is an ExceptionError.",
            "remarks": "",
            "returns": "True if ErrorResponseError, false if ExceptionError.",
            "parameters": [
              {
                "name": "body",
                "description": "The error response body if ErrorResponseError, default otherwise."
              },
              {
                "name": "statusCode",
                "description": "The HTTP status code if ErrorResponseError, default otherwise."
              },
              {
                "name": "headers",
                "description": "The HTTP response headers if ErrorResponseError, null otherwise."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "body",
              "type": "TError",
              "modifiers": "out",
              "default": null
            },
            {
              "name": "statusCode",
              "type": "HttpStatusCode",
              "modifiers": "out",
              "default": null
            },
            {
              "name": "headers",
              "type": "HttpResponseHeaders?",
              "modifiers": "out",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/ErrorResponseError.cs",
            "line": 48,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ErrorResponseError.cs#L48"
          }
        },
        {
          "id": "M:Outcome.HttpError\u00601.Match(System.Func{System.Exception,\u00600},System.Func{\u00600,System.Net.HttpStatusCode,System.Net.Http.Headers.HttpResponseHeaders,\u00600})",
          "anchor": "match-013291e0e1a3",
          "name": "Match",
          "kind": "method",
          "signature": "public TError Match(Func\u003CException, TError\u003E onException, Func\u003CTError, HttpStatusCode, HttpResponseHeaders, TError\u003E onErrorResponse);",
          "docs": {
            "summary": "Transforms this HttpError into a new type using the provided functions. This is the catamorphism for HttpError, enabling complete pattern matching.",
            "remarks": "",
            "returns": "The result of applying the appropriate function.",
            "parameters": [
              {
                "name": "onException",
                "description": "Function to apply if this is an ExceptionError."
              },
              {
                "name": "onErrorResponse",
                "description": "Function to apply if this is an ErrorResponseError."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "onException",
              "type": "Func\u003CException, TError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "onErrorResponse",
              "type": "Func\u003CTError, HttpStatusCode, HttpResponseHeaders, TError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/HttpError.cs",
            "line": 43,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/HttpError.cs#L43"
          }
        },
        {
          "id": "P:Outcome.HttpError\u00601.IsErrorResponse",
          "anchor": "iserrorresponse-9f42a1f88ed9",
          "name": "IsErrorResponse",
          "kind": "property",
          "signature": "public bool IsErrorResponse { get; }",
          "docs": {
            "summary": "Gets a value indicating whether this error was caused by an HTTP error response.",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/HttpError.cs",
            "line": 34,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/HttpError.cs#L34"
          }
        },
        {
          "id": "P:Outcome.HttpError\u00601.IsExceptionError",
          "anchor": "isexceptionerror-ab25adef8743",
          "name": "IsExceptionError",
          "kind": "property",
          "signature": "public bool IsExceptionError { get; }",
          "docs": {
            "summary": "Gets a value indicating whether this error was caused by an exception.",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/HttpError.cs",
            "line": 29,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/HttpError.cs#L29"
          }
        }
      ]
    },
    {
      "id": "T:Outcome.HttpError\u00601.ErrorResponseError",
      "name": "ErrorResponseError",
      "displayName": "Outcome.HttpError\u003CTError\u003E.ErrorResponseError",
      "namespace": "Outcome",
      "project": "Outcome",
      "kind": "class",
      "signature": "public sealed record ErrorResponseError(TError Body, HttpStatusCode StatusCode, HttpResponseHeaders Headers) : HttpError\u003CTError\u003E",
      "docs": {
        "summary": "Represents an HTTP error response from the server. This occurs when the server responds with an error status code (4xx, 5xx) but the response body can be parsed into a structured error format. This enables rich error handling where API errors can be strongly typed and contain detailed information about what went wrong.",
        "remarks": "",
        "returns": "",
        "parameters": [
          {
            "name": "Body",
            "description": "The parsed error response body."
          },
          {
            "name": "StatusCode",
            "description": "The HTTP status code of the error response."
          },
          {
            "name": "Headers",
            "description": "The HTTP response headers."
          }
        ],
        "typeParameters": []
      },
      "parameters": [
        {
          "name": "Body",
          "type": "TError",
          "modifiers": "",
          "default": null
        },
        {
          "name": "StatusCode",
          "type": "HttpStatusCode",
          "modifiers": "",
          "default": null
        },
        {
          "name": "Headers",
          "type": "HttpResponseHeaders",
          "modifiers": "",
          "default": null
        }
      ],
      "source": {
        "file": "Outcome/ErrorResponseError.cs",
        "line": 25,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ErrorResponseError.cs#L25"
      },
      "url": "/api/reference/outcome-httperror-1-errorresponseerror/",
      "members": [
        {
          "id": "M:Outcome.HttpError\u00601.ErrorResponseError.#ctor(\u00600,System.Net.HttpStatusCode,System.Net.Http.Headers.HttpResponseHeaders)",
          "anchor": "ctor-9dab00cb7922",
          "name": ".ctor",
          "kind": "method",
          "signature": "public ErrorResponseError(TError Body, HttpStatusCode StatusCode, HttpResponseHeaders Headers);",
          "docs": {
            "summary": "Represents an HTTP error response from the server. This occurs when the server responds with an error status code (4xx, 5xx) but the response body can be parsed into a structured error format. This enables rich error handling where API errors can be strongly typed and contain detailed information about what went wrong.",
            "remarks": "",
            "returns": "",
            "parameters": [
              {
                "name": "Body",
                "description": "The parsed error response body."
              },
              {
                "name": "StatusCode",
                "description": "The HTTP status code of the error response."
              },
              {
                "name": "Headers",
                "description": "The HTTP response headers."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "Body",
              "type": "TError",
              "modifiers": "",
              "default": null
            },
            {
              "name": "StatusCode",
              "type": "HttpStatusCode",
              "modifiers": "",
              "default": null
            },
            {
              "name": "Headers",
              "type": "HttpResponseHeaders",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/ErrorResponseError.cs",
            "line": 25,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ErrorResponseError.cs#L25"
          }
        },
        {
          "id": "M:Outcome.HttpError\u00601.ErrorResponseError.ToString",
          "anchor": "tostring-67fb8d7a5c8c",
          "name": "ToString",
          "kind": "method",
          "signature": "public override string ToString();",
          "docs": {
            "summary": "Returns a string representation of the error response.",
            "remarks": "",
            "returns": "A string representation of the error response.",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/ErrorResponseError.cs",
            "line": 35,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ErrorResponseError.cs#L35"
          }
        },
        {
          "id": "P:Outcome.HttpError\u00601.ErrorResponseError.Body",
          "anchor": "body-90a4298d993c",
          "name": "Body",
          "kind": "property",
          "signature": "public TError Body { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/ErrorResponseError.cs",
            "line": 26,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ErrorResponseError.cs#L26"
          }
        },
        {
          "id": "P:Outcome.HttpError\u00601.ErrorResponseError.Headers",
          "anchor": "headers-7adfe5fe10e9",
          "name": "Headers",
          "kind": "property",
          "signature": "public HttpResponseHeaders Headers { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/ErrorResponseError.cs",
            "line": 28,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ErrorResponseError.cs#L28"
          }
        },
        {
          "id": "P:Outcome.HttpError\u00601.ErrorResponseError.StatusCode",
          "anchor": "statuscode-87d8bce29e9e",
          "name": "StatusCode",
          "kind": "property",
          "signature": "public HttpStatusCode StatusCode { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/ErrorResponseError.cs",
            "line": 27,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ErrorResponseError.cs#L27"
          }
        }
      ]
    },
    {
      "id": "T:Outcome.HttpError\u00601.ExceptionError",
      "name": "ExceptionError",
      "displayName": "Outcome.HttpError\u003CTError\u003E.ExceptionError",
      "namespace": "Outcome",
      "project": "Outcome",
      "kind": "class",
      "signature": "public sealed record ExceptionError(Exception Exception) : HttpError\u003CTError\u003E",
      "docs": {
        "summary": "Represents an error caused by an exception during the HTTP operation. This typically occurs due to network issues, timeouts, or other infrastructure problems. Examples: Network unreachable, connection timeout, DNS resolution failure.",
        "remarks": "",
        "returns": "",
        "parameters": [
          {
            "name": "Exception",
            "description": "The exception that caused the error."
          }
        ],
        "typeParameters": []
      },
      "parameters": [
        {
          "name": "Exception",
          "type": "Exception",
          "modifiers": "",
          "default": null
        }
      ],
      "source": {
        "file": "Outcome/ExceptionError.cs",
        "line": 17,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ExceptionError.cs#L17"
      },
      "url": "/api/reference/outcome-httperror-1-exceptionerror/",
      "members": [
        {
          "id": "M:Outcome.HttpError\u00601.ExceptionError.#ctor(System.Exception)",
          "anchor": "ctor-ae8d31af80f9",
          "name": ".ctor",
          "kind": "method",
          "signature": "public ExceptionError(Exception Exception);",
          "docs": {
            "summary": "Represents an error caused by an exception during the HTTP operation. This typically occurs due to network issues, timeouts, or other infrastructure problems. Examples: Network unreachable, connection timeout, DNS resolution failure.",
            "remarks": "",
            "returns": "",
            "parameters": [
              {
                "name": "Exception",
                "description": "The exception that caused the error."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "Exception",
              "type": "Exception",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/ExceptionError.cs",
            "line": 17,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ExceptionError.cs#L17"
          }
        },
        {
          "id": "M:Outcome.HttpError\u00601.ExceptionError.FromException(System.Exception)",
          "anchor": "fromexception-466415aa9196",
          "name": "FromException",
          "kind": "method",
          "signature": "public static new ExceptionError FromException(Exception exception);",
          "docs": {
            "summary": "Converts an Exception to an ExceptionError. Enables clean error creation from caught exceptions.",
            "remarks": "",
            "returns": "An ExceptionError containing the exception.",
            "parameters": [
              {
                "name": "exception",
                "description": "The exception to wrap."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "exception",
              "type": "Exception",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/ExceptionError.cs",
            "line": 25,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ExceptionError.cs#L25"
          }
        },
        {
          "id": "M:Outcome.HttpError\u00601.ExceptionError.ToString",
          "anchor": "tostring-936121d2cb99",
          "name": "ToString",
          "kind": "method",
          "signature": "public override string ToString();",
          "docs": {
            "summary": "Returns a string representation of the exception error.",
            "remarks": "",
            "returns": "A string representation of the exception error.",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/ExceptionError.cs",
            "line": 31,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ExceptionError.cs#L31"
          }
        },
        {
          "id": "P:Outcome.HttpError\u00601.ExceptionError.Exception",
          "anchor": "exception-96be9117d0e5",
          "name": "Exception",
          "kind": "property",
          "signature": "public Exception Exception { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/ExceptionError.cs",
            "line": 17,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ExceptionError.cs#L17"
          }
        }
      ]
    },
    {
      "id": "T:Outcome.ResultExtensions",
      "name": "ResultExtensions",
      "displayName": "Outcome.ResultExtensions",
      "namespace": "Outcome",
      "project": "Outcome",
      "kind": "class",
      "signature": "public static class ResultExtensions",
      "docs": {
        "summary": "Extension methods that provide additional functional programming utilities for Result. These methods enable more fluent and expressive Result-based code.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "Outcome/ResultExtensions.cs",
        "line": 7,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ResultExtensions.cs#L7"
      },
      "url": "/api/reference/outcome-resultextensions/",
      "members": [
        {
          "id": "M:Outcome.ResultExtensions.Combine\u0060\u00604(Outcome.Result{\u0060\u00600,\u0060\u00603},Outcome.Result{\u0060\u00601,\u0060\u00603},System.Func{\u0060\u00600,\u0060\u00601,\u0060\u00602})",
          "anchor": "combine-583dc9e6b049",
          "name": "Combine",
          "kind": "method",
          "signature": "public static Result\u003CTSuccess, TFailure\u003E Combine\u003CTSuccess1, TSuccess2, TSuccess, TFailure\u003E(this Result\u003CTSuccess1, TFailure\u003E result1, Result\u003CTSuccess2, TFailure\u003E result2, Func\u003CTSuccess1, TSuccess2, TSuccess\u003E combiner);",
          "docs": {
            "summary": "Combines two Results using a combining function. Both Results must be Ok for the combination to succeed.",
            "remarks": "",
            "returns": "Ok with combined value if both are Ok, otherwise the first Error.",
            "parameters": [
              {
                "name": "result1",
                "description": "The first Result."
              },
              {
                "name": "result2",
                "description": "The second Result."
              },
              {
                "name": "combiner",
                "description": "Function to combine the two success values."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess1",
                "description": "The success type of the first Result."
              },
              {
                "name": "TSuccess2",
                "description": "The success type of the second Result."
              },
              {
                "name": "TSuccess",
                "description": "The success type of the combined Result."
              },
              {
                "name": "TFailure",
                "description": "The failure type."
              }
            ]
          },
          "parameters": [
            {
              "name": "result1",
              "type": "Result\u003CTSuccess1, TFailure\u003E",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "result2",
              "type": "Result\u003CTSuccess2, TFailure\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "combiner",
              "type": "Func\u003CTSuccess1, TSuccess2, TSuccess\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/ResultExtensions.cs",
            "line": 69,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ResultExtensions.cs#L69"
          }
        },
        {
          "id": "M:Outcome.ResultExtensions.Filter\u0060\u00602(Outcome.Result{\u0060\u00600,\u0060\u00601},System.Func{\u0060\u00600,System.Boolean},\u0060\u00601)",
          "anchor": "filter-a5c3895a27e2",
          "name": "Filter",
          "kind": "method",
          "signature": "public static Result\u003CTSuccess, TFailure\u003E Filter\u003CTSuccess, TFailure\u003E(this Result\u003CTSuccess, TFailure\u003E result, Func\u003CTSuccess, bool\u003E predicate, TFailure errorOnFalse);",
          "docs": {
            "summary": "Filters a Result based on a predicate. If the Result is Ok and the predicate returns true, returns the original Result. If the Result is Ok but the predicate returns false, returns Error with the provided error. If the Result is already Error, returns it unchanged.",
            "remarks": "",
            "returns": "The original Result if predicate passes, Error if predicate fails.",
            "parameters": [
              {
                "name": "result",
                "description": "The Result to filter."
              },
              {
                "name": "predicate",
                "description": "The predicate to test the success value."
              },
              {
                "name": "errorOnFalse",
                "description": "The error to return if the predicate fails."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The success type."
              },
              {
                "name": "TFailure",
                "description": "The failure type."
              }
            ]
          },
          "parameters": [
            {
              "name": "result",
              "type": "Result\u003CTSuccess, TFailure\u003E",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "predicate",
              "type": "Func\u003CTSuccess, bool\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "errorOnFalse",
              "type": "TFailure",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/ResultExtensions.cs",
            "line": 87,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ResultExtensions.cs#L87"
          }
        },
        {
          "id": "M:Outcome.ResultExtensions.Flatten\u0060\u00602(Outcome.Result{Outcome.Result{\u0060\u00600,\u0060\u00601},\u0060\u00601})",
          "anchor": "flatten-1920f54e45e0",
          "name": "Flatten",
          "kind": "method",
          "signature": "public static Result\u003CTSuccess, TFailure\u003E Flatten\u003CTSuccess, TFailure\u003E(this Result\u003CResult\u003CTSuccess, TFailure\u003E, TFailure\u003E result);",
          "docs": {
            "summary": "Flattens a nested Result structure. This is useful when you have Result\u0026lt;Result\u0026lt;T, E\u0026gt;, E\u0026gt; and want Result\u0026lt;T, E\u0026gt;.",
            "remarks": "",
            "returns": "A flattened Result.",
            "parameters": [
              {
                "name": "result",
                "description": "The nested Result to flatten."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The success type."
              },
              {
                "name": "TFailure",
                "description": "The failure type."
              }
            ]
          },
          "parameters": [
            {
              "name": "result",
              "type": "Result\u003CResult\u003CTSuccess, TFailure\u003E, TFailure\u003E",
              "modifiers": "this",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/ResultExtensions.cs",
            "line": 53,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ResultExtensions.cs#L53"
          }
        },
        {
          "id": "M:Outcome.ResultExtensions.GetErrorOrThrow\u0060\u00602(Outcome.Result{\u0060\u00600,\u0060\u00601},System.String)",
          "anchor": "geterrororthrow-4c58327e4b32",
          "name": "GetErrorOrThrow",
          "kind": "method",
          "signature": "public static TFailure GetErrorOrThrow\u003CTSuccess, TFailure\u003E(this Result\u003CTSuccess, TFailure\u003E result, string errorMessage = \u0022Expected error result\u0022);",
          "docs": {
            "summary": "\u26A0\uFE0F Dangerous Method - Use with Caution! \u26A0\uFE0F Extracts the error value from a Result, or throws an InvalidOperationException if the Result is a success. This is useful in test scenarios where you expect an error and want to fail the test if a success occurs.",
            "remarks": "",
            "returns": "The failure value.",
            "parameters": [
              {
                "name": "result",
                "description": "The Result to extract the error from."
              },
              {
                "name": "errorMessage",
                "description": "Optional custom error message to use when throwing. Defaults to \u0022Expected error result\u0022."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The success type."
              },
              {
                "name": "TFailure",
                "description": "The failure type."
              }
            ]
          },
          "parameters": [
            {
              "name": "result",
              "type": "Result\u003CTSuccess, TFailure\u003E",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "errorMessage",
              "type": "string",
              "modifiers": "",
              "default": "\u0022Expected error result\u0022"
            }
          ],
          "source": {
            "file": "Outcome/ResultExtensions.cs",
            "line": 125,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ResultExtensions.cs#L125"
          }
        },
        {
          "id": "M:Outcome.ResultExtensions.GetValueOrThrow\u0060\u00602(Outcome.Result{\u0060\u00600,\u0060\u00601},System.String)",
          "anchor": "getvalueorthrow-78b313af3c9d",
          "name": "GetValueOrThrow",
          "kind": "method",
          "signature": "public static TSuccess GetValueOrThrow\u003CTSuccess, TFailure\u003E(this Result\u003CTSuccess, TFailure\u003E result, string errorMessage = \u0022Expected success result\u0022);",
          "docs": {
            "summary": "\u26A0\uFE0F Dangerous Method - Use with Caution! \u26A0\uFE0F Extracts the success value from a Result, or throws an InvalidOperationException if the Result is an Error. This is useful in test scenarios where you expect a success and want to fail the test if an error occurs.",
            "remarks": "",
            "returns": "The success value.",
            "parameters": [
              {
                "name": "result",
                "description": "The Result to extract the value from."
              },
              {
                "name": "errorMessage",
                "description": "Optional custom error message to use when throwing. Defaults to \u0022Expected success result\u0022."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The success type."
              },
              {
                "name": "TFailure",
                "description": "The failure type."
              }
            ]
          },
          "parameters": [
            {
              "name": "result",
              "type": "Result\u003CTSuccess, TFailure\u003E",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "errorMessage",
              "type": "string",
              "modifiers": "",
              "default": "\u0022Expected success result\u0022"
            }
          ],
          "source": {
            "file": "Outcome/ResultExtensions.cs",
            "line": 109,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ResultExtensions.cs#L109"
          }
        },
        {
          "id": "M:Outcome.ResultExtensions.Sequence\u0060\u00602(System.Collections.Generic.IEnumerable{Outcome.Result{\u0060\u00600,\u0060\u00601}})",
          "anchor": "sequence-2e77f6f774d3",
          "name": "Sequence",
          "kind": "method",
          "signature": "public static Result\u003CIReadOnlyList\u003CTSuccess\u003E, TFailure\u003E Sequence\u003CTSuccess, TFailure\u003E(this IEnumerable\u003CResult\u003CTSuccess, TFailure\u003E\u003E results);",
          "docs": {
            "summary": "Transforms a sequence of Results into a Result of a sequence. If all Results are Ok, returns Ok with all the values. If any Result is Error, returns the first Error encountered. This is the sequence/traverse operation for Result, enabling all-or-nothing semantics for collections of Results.",
            "remarks": "",
            "returns": "A Result containing all success values or the first error.",
            "parameters": [
              {
                "name": "results",
                "description": "The sequence of Results to traverse."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The success type."
              },
              {
                "name": "TFailure",
                "description": "The failure type."
              }
            ]
          },
          "parameters": [
            {
              "name": "results",
              "type": "IEnumerable\u003CResult\u003CTSuccess, TFailure\u003E\u003E",
              "modifiers": "this",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/ResultExtensions.cs",
            "line": 21,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/ResultExtensions.cs#L21"
          }
        }
      ]
    },
    {
      "id": "T:Outcome.Result\u00602",
      "name": "Result",
      "displayName": "Outcome.Result\u003CTSuccess, TFailure\u003E",
      "namespace": "Outcome",
      "project": "Outcome",
      "kind": "class",
      "signature": "public abstract partial record Result\u003CTSuccess, TFailure\u003E",
      "docs": {
        "summary": "A discriminated union representing either a successful result or a failure. This type enforces explicit error handling and eliminates the need for exceptions in business logic, following the Railway Oriented Programming pattern. The Result type is a closed hierarchy - only Ok and Error instances can exist, ensuring complete pattern matching coverage and type safety.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": [
          {
            "name": "TSuccess",
            "description": "The type of the success value."
          },
          {
            "name": "TFailure",
            "description": "The type of the failure value."
          }
        ]
      },
      "parameters": [],
      "source": {
        "file": "Outcome/Result.cs",
        "line": 15,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L15"
      },
      "url": "/api/reference/outcome-result-2/",
      "members": [
        {
          "id": "M:Outcome.Result\u00602.Bind\u0060\u00601(System.Func{\u00600,Outcome.Result{\u0060\u00600,\u00601}})",
          "anchor": "bind-6a6b0426fd34",
          "name": "Bind",
          "kind": "method",
          "signature": "public Result\u003CTNewSuccess, TFailure\u003E Bind\u003CTNewSuccess\u003E(Func\u003CTSuccess, Result\u003CTNewSuccess, TFailure\u003E\u003E binder);",
          "docs": {
            "summary": "Monadic bind operation for Result. Applies a function that returns a Result to the success value of this Result, flattening the nested Result. This is the core operation that makes Result a monad, enabling Railway Oriented Programming and safe composition of operations.",
            "remarks": "",
            "returns": "The result of applying the binder, or the original error.",
            "parameters": [
              {
                "name": "binder",
                "description": "The function to apply if this is a success."
              }
            ],
            "typeParameters": [
              {
                "name": "TNewSuccess",
                "description": "The success type of the result returned by the binder."
              }
            ]
          },
          "parameters": [
            {
              "name": "binder",
              "type": "Func\u003CTSuccess, Result\u003CTNewSuccess, TFailure\u003E\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/Result.cs",
            "line": 101,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L101"
          }
        },
        {
          "id": "M:Outcome.Result\u00602.Failure(\u00601)",
          "anchor": "failure-aa12b86eb029",
          "name": "Failure",
          "kind": "method",
          "signature": "public static Result\u003CTSuccess, TFailure\u003E Failure(TFailure error);",
          "docs": {
            "summary": "Creates a failed result containing the specified error. This is the canonical way to create an error in the Result monad.",
            "remarks": "",
            "returns": "An Error result containing the error.",
            "parameters": [
              {
                "name": "error",
                "description": "The error value."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "error",
              "type": "TFailure",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/Result.cs",
            "line": 43,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L43"
          }
        },
        {
          "id": "M:Outcome.Result\u00602.GetValueOrDefault(System.Func{\u00600})",
          "anchor": "getvalueordefault-0c96b5c75feb",
          "name": "GetValueOrDefault",
          "kind": "method",
          "signature": "public TSuccess GetValueOrDefault(Func\u003CTSuccess\u003E defaultProvider);",
          "docs": {
            "summary": "Returns the success value if this is Ok, otherwise returns the result of calling the provider function. This enables lazy evaluation of default values.",
            "remarks": "",
            "returns": "The success value or the result of the default provider.",
            "parameters": [
              {
                "name": "defaultProvider",
                "description": "Function to call if this is an Error."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "defaultProvider",
              "type": "Func\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/Result.cs",
            "line": 174,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L174"
          }
        },
        {
          "id": "M:Outcome.Result\u00602.GetValueOrDefault(\u00600)",
          "anchor": "getvalueordefault-e6e7fe157630",
          "name": "GetValueOrDefault",
          "kind": "method",
          "signature": "public TSuccess GetValueOrDefault(TSuccess defaultValue);",
          "docs": {
            "summary": "Returns the success value if this is Ok, otherwise returns the provided default value. This is a safe way to extract values from Results with a fallback.",
            "remarks": "",
            "returns": "The success value or the default value.",
            "parameters": [
              {
                "name": "defaultValue",
                "description": "The value to return if this is an Error."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "defaultValue",
              "type": "TSuccess",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/Result.cs",
            "line": 165,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L165"
          }
        },
        {
          "id": "M:Outcome.Result\u00602.MapError\u0060\u00601(System.Func{\u00601,\u0060\u00600})",
          "anchor": "maperror-9f5b01fe24ec",
          "name": "MapError",
          "kind": "method",
          "signature": "public Result\u003CTSuccess, TNewFailure\u003E MapError\u003CTNewFailure\u003E(Func\u003CTFailure, TNewFailure\u003E mapper);",
          "docs": {
            "summary": "Transforms the error value of this result using the provided function. If this is an Ok, the success value is propagated unchanged. This enables error transformation and recovery scenarios while preserving the success path.",
            "remarks": "",
            "returns": "A new result with the original success value or the transformed error.",
            "parameters": [
              {
                "name": "mapper",
                "description": "The function to apply to the error value."
              }
            ],
            "typeParameters": [
              {
                "name": "TNewFailure",
                "description": "The type of the transformed error value."
              }
            ]
          },
          "parameters": [
            {
              "name": "mapper",
              "type": "Func\u003CTFailure, TNewFailure\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/Result.cs",
            "line": 77,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L77"
          }
        },
        {
          "id": "M:Outcome.Result\u00602.Map\u0060\u00601(System.Func{\u00600,\u0060\u00600})",
          "anchor": "map-5ddd6de772e7",
          "name": "Map",
          "kind": "method",
          "signature": "public Result\u003CTNewSuccess, TFailure\u003E Map\u003CTNewSuccess\u003E(Func\u003CTSuccess, TNewSuccess\u003E mapper);",
          "docs": {
            "summary": "Transforms the success value of this result using the provided function. If this is an Error, the error is propagated unchanged. This is the fundamental Functor operation for Result, enabling composition of operations while preserving the error context.",
            "remarks": "",
            "returns": "A new result with the transformed success value or the original error.",
            "parameters": [
              {
                "name": "mapper",
                "description": "The function to apply to the success value."
              }
            ],
            "typeParameters": [
              {
                "name": "TNewSuccess",
                "description": "The type of the transformed success value."
              }
            ]
          },
          "parameters": [
            {
              "name": "mapper",
              "type": "Func\u003CTSuccess, TNewSuccess\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/Result.cs",
            "line": 57,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L57"
          }
        },
        {
          "id": "M:Outcome.Result\u00602.Match\u0060\u00601(System.Func{\u00600,\u0060\u00600},System.Func{\u00601,\u0060\u00600})",
          "anchor": "match-82e81cd0395d",
          "name": "Match",
          "kind": "method",
          "signature": "public TResult Match\u003CTResult\u003E(Func\u003CTSuccess, TResult\u003E onSuccess, Func\u003CTFailure, TResult\u003E onError);",
          "docs": {
            "summary": "Applies one of two functions based on the state of this Result. This is the catamorphism for Result, allowing for complete pattern matching. Use this when you need to extract a value of the same type from both success and error cases.",
            "remarks": "",
            "returns": "The result of applying the appropriate function.",
            "parameters": [
              {
                "name": "onSuccess",
                "description": "Function to apply if this is a success."
              },
              {
                "name": "onError",
                "description": "Function to apply if this is an error."
              }
            ],
            "typeParameters": [
              {
                "name": "TResult",
                "description": "The type of value to return."
              }
            ]
          },
          "parameters": [
            {
              "name": "onSuccess",
              "type": "Func\u003CTSuccess, TResult\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "onError",
              "type": "Func\u003CTFailure, TResult\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/Result.cs",
            "line": 121,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L121"
          }
        },
        {
          "id": "M:Outcome.Result\u00602.Tap(System.Action{\u00600},System.Action{\u00601})",
          "anchor": "tap-bc1b87c5d7ef",
          "name": "Tap",
          "kind": "method",
          "signature": "public Result\u003CTSuccess, TFailure\u003E Tap(Action\u003CTSuccess\u003E? onSuccess = null, Action\u003CTFailure\u003E? onError = null);",
          "docs": {
            "summary": "Performs a side effect based on the state of this Result without changing the Result. This enables logging, debugging, or other side effects while preserving the functional nature of the Result chain.",
            "remarks": "",
            "returns": "This Result unchanged.",
            "parameters": [
              {
                "name": "onSuccess",
                "description": "Action to perform if this is a success."
              },
              {
                "name": "onError",
                "description": "Action to perform if this is an error."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "onSuccess",
              "type": "Action\u003CTSuccess\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "onError",
              "type": "Action\u003CTFailure\u003E?",
              "modifiers": "",
              "default": "null"
            }
          ],
          "source": {
            "file": "Outcome/Result.cs",
            "line": 139,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L139"
          }
        },
        {
          "id": "M:Outcome.Result\u00602.op_LogicalNot(Outcome.Result{\u00600,\u00601})",
          "anchor": "op-logicalnot-57921656112d",
          "name": "op_LogicalNot",
          "kind": "method",
          "signature": "public static TFailure operator !(Result\u003CTSuccess, TFailure\u003E result);",
          "docs": {
            "summary": "Unary negation operator to extract the error value if this is an Error, otherwise returns null. This provides a convenient way to extract errors for checking.",
            "remarks": "",
            "returns": "The error value if Error, null if Ok.",
            "parameters": [
              {
                "name": "result",
                "description": "The result to extract error from."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "result",
              "type": "Result\u003CTSuccess, TFailure\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/Result.cs",
            "line": 184,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L184"
          }
        },
        {
          "id": "M:Outcome.Result\u00602.op_UnaryPlus(Outcome.Result{\u00600,\u00601})",
          "anchor": "op-unaryplus-9527431796b3",
          "name": "op_UnaryPlus",
          "kind": "method",
          "signature": "public static TSuccess operator \u002B(Result\u003CTSuccess, TFailure\u003E result);",
          "docs": {
            "summary": "\u26A0\uFE0F Danger. Returns the value or throws if Error. Only for use in tests.",
            "remarks": "",
            "returns": "The success value.",
            "parameters": [
              {
                "name": "result",
                "description": "The result to extract the success value from."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "result",
              "type": "Result\u003CTSuccess, TFailure\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/Result.cs",
            "line": 199,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L199"
          }
        },
        {
          "id": "P:Outcome.Result\u00602.IsError",
          "anchor": "iserror-a1c22d0ad2c2",
          "name": "IsError",
          "kind": "property",
          "signature": "public bool IsError { get; }",
          "docs": {
            "summary": "Gets a value indicating whether this result represents a failed computation. In functional programming, this is analogous to checking if an Either is Left.",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/Result.cs",
            "line": 34,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L34"
          }
        },
        {
          "id": "P:Outcome.Result\u00602.IsOk",
          "anchor": "isok-7bb917058991",
          "name": "IsOk",
          "kind": "property",
          "signature": "public bool IsOk { get; }",
          "docs": {
            "summary": "Gets a value indicating whether this result represents a successful computation. In functional programming, this is analogous to checking if an Either is Right.",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/Result.cs",
            "line": 28,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Result.cs#L28"
          }
        }
      ]
    },
    {
      "id": "T:Outcome.Result\u00602.Error\u00602",
      "name": "Error",
      "displayName": "Outcome.Result\u003CTSuccess, TFailure\u003E.Error\u003CTSuccess, TFailure\u003E",
      "namespace": "Outcome",
      "project": "Outcome",
      "kind": "class",
      "signature": "public sealed record Error\u003CTSuccess, TFailure\u003E(TFailure Value) : Result\u003CTSuccess, TFailure\u003E",
      "docs": {
        "summary": "Represents a failed computation containing an error of type TFailure. This is the \u0022sad path\u0022 case where something went wrong. In functional programming, this represents the Left side of an Either type, allowing for explicit error handling without exceptions.",
        "remarks": "",
        "returns": "",
        "parameters": [
          {
            "name": "Value",
            "description": "The error/failure value."
          }
        ],
        "typeParameters": []
      },
      "parameters": [
        {
          "name": "Value",
          "type": "TFailure",
          "modifiers": "",
          "default": null
        }
      ],
      "source": {
        "file": "Outcome/Error.cs",
        "line": 19,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Error.cs#L19"
      },
      "url": "/api/reference/outcome-result-2-error-2/",
      "members": [
        {
          "id": "M:Outcome.Result\u00602.Error\u00602.#ctor(\u00603)",
          "anchor": "ctor-ecbbb2cf0aa2",
          "name": ".ctor",
          "kind": "method",
          "signature": "public Error(TFailure Value);",
          "docs": {
            "summary": "Represents a failed computation containing an error of type TFailure. This is the \u0022sad path\u0022 case where something went wrong. In functional programming, this represents the Left side of an Either type, allowing for explicit error handling without exceptions.",
            "remarks": "",
            "returns": "",
            "parameters": [
              {
                "name": "Value",
                "description": "The error/failure value."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "Value",
              "type": "TFailure",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/Error.cs",
            "line": 19,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Error.cs#L19"
          }
        },
        {
          "id": "M:Outcome.Result\u00602.Error\u00602.FromTFailure(\u00603)",
          "anchor": "fromtfailure-97b104373eaa",
          "name": "FromTFailure",
          "kind": "method",
          "signature": "public static Error\u003CTSuccess, TFailure\u003E FromTFailure(TFailure error);",
          "docs": {
            "summary": "Converts a failure value to an Error result. This enables clean error creation without verbose constructors.",
            "remarks": "",
            "returns": "An Error result containing the error.",
            "parameters": [
              {
                "name": "error",
                "description": "The error to wrap in an Error result."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "error",
              "type": "TFailure",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/Error.cs",
            "line": 31,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Error.cs#L31"
          }
        },
        {
          "id": "M:Outcome.Result\u00602.Error\u00602.ToString",
          "anchor": "tostring-e33e81e2607c",
          "name": "ToString",
          "kind": "method",
          "signature": "public override string ToString();",
          "docs": {
            "summary": "Returns a string representation of the failed result.",
            "remarks": "",
            "returns": "A string representation of the error.",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/Error.cs",
            "line": 38,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Error.cs#L38"
          }
        },
        {
          "id": "P:Outcome.Result\u00602.Error\u00602.Value",
          "anchor": "value-6c92baccda1d",
          "name": "Value",
          "kind": "property",
          "signature": "public TFailure Value { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/Error.cs",
            "line": 19,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Error.cs#L19"
          }
        }
      ]
    },
    {
      "id": "T:Outcome.Result\u00602.Ok\u00602",
      "name": "Ok",
      "displayName": "Outcome.Result\u003CTSuccess, TFailure\u003E.Ok\u003CTSuccess, TFailure\u003E",
      "namespace": "Outcome",
      "project": "Outcome",
      "kind": "class",
      "signature": "public sealed record Ok\u003CTSuccess, TFailure\u003E(TSuccess Value) : Result\u003CTSuccess, TFailure\u003E",
      "docs": {
        "summary": "Represents a successful computation containing a value of type TSuccess. This is the \u0022happy path\u0022 case where everything worked as expected. In functional programming, this represents the Right side of an Either type or the Some case of an Option type with additional context.",
        "remarks": "",
        "returns": "",
        "parameters": [
          {
            "name": "Value",
            "description": "The successful result value."
          }
        ],
        "typeParameters": []
      },
      "parameters": [
        {
          "name": "Value",
          "type": "TSuccess",
          "modifiers": "",
          "default": null
        }
      ],
      "source": {
        "file": "Outcome/Ok.cs",
        "line": 18,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Ok.cs#L18"
      },
      "url": "/api/reference/outcome-result-2-ok-2/",
      "members": [
        {
          "id": "M:Outcome.Result\u00602.Ok\u00602.#ctor(\u00602)",
          "anchor": "ctor-c62bab7d08ac",
          "name": ".ctor",
          "kind": "method",
          "signature": "public Ok(TSuccess Value);",
          "docs": {
            "summary": "Represents a successful computation containing a value of type TSuccess. This is the \u0022happy path\u0022 case where everything worked as expected. In functional programming, this represents the Right side of an Either type or the Some case of an Option type with additional context.",
            "remarks": "",
            "returns": "",
            "parameters": [
              {
                "name": "Value",
                "description": "The successful result value."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "Value",
              "type": "TSuccess",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "Outcome/Ok.cs",
            "line": 18,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Ok.cs#L18"
          }
        },
        {
          "id": "M:Outcome.Result\u00602.Ok\u00602.ToString",
          "anchor": "tostring-85b1d1e99e17",
          "name": "ToString",
          "kind": "method",
          "signature": "public override string ToString();",
          "docs": {
            "summary": "Returns a string representation of the successful result.",
            "remarks": "",
            "returns": "A string representation of the success.",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/Ok.cs",
            "line": 25,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Ok.cs#L25"
          }
        },
        {
          "id": "P:Outcome.Result\u00602.Ok\u00602.Value",
          "anchor": "value-4d08c011c6d0",
          "name": "Value",
          "kind": "property",
          "signature": "public TSuccess Value { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/Ok.cs",
            "line": 18,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Ok.cs#L18"
          }
        }
      ]
    },
    {
      "id": "T:Outcome.Unit",
      "name": "Unit",
      "displayName": "Outcome.Unit",
      "namespace": "Outcome",
      "project": "Outcome",
      "kind": "class",
      "signature": "[System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage]\r\npublic sealed record Unit",
      "docs": {
        "summary": "Represents a void return type or a type with only one value.",
        "remarks": "Unit is a type that has exactly one value, similar to void in functional programming. It is commonly used as a return type for operations that don\u0027t return a meaningful value, or as a type parameter when a generic type is required but no data needs to be carried. This implementation uses a sealed record with a private constructor to ensure only one instance exists (accessible via \u0060Value\u0060), providing referential equality.",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "Outcome/Unit.cs",
        "line": 13,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Unit.cs#L13"
      },
      "url": "/api/reference/outcome-unit/",
      "members": [
        {
          "id": "P:Outcome.Unit.Value",
          "anchor": "value-e14634773e7c",
          "name": "Value",
          "kind": "property",
          "signature": "public static Unit Value { get; }",
          "docs": {
            "summary": "Gets the single value of the Unit type.",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "Outcome/Unit.cs",
            "line": 22,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/Outcome/Unit.cs#L22"
          }
        }
      ]
    },
    {
      "id": "T:RestClient.Net.BuildRequest\u00601",
      "name": "BuildRequest",
      "displayName": "RestClient.Net.BuildRequest\u003CTParam\u003E",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "delegate",
      "signature": "public delegate HttpRequestParts BuildRequest\u003CTParam\u003E(TParam argument);",
      "docs": {
        "summary": "Represents a function that builds all parts of an HTTP request from a typed parameter.",
        "remarks": "",
        "returns": "The HTTP request parts including URL, body, and headers.",
        "parameters": [
          {
            "name": "argument",
            "description": "The parameter used to construct the request parts."
          }
        ],
        "typeParameters": [
          {
            "name": "TParam",
            "description": "The type of parameter used to build the request."
          }
        ]
      },
      "parameters": [
        {
          "name": "argument",
          "type": "TParam",
          "modifiers": "",
          "default": null
        }
      ],
      "source": {
        "file": "RestClient.Net/Delegates.cs",
        "line": 24,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L24"
      },
      "url": "/api/reference/restclient-net-buildrequest-1/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.DeleteAsync\u00603",
      "name": "DeleteAsync",
      "displayName": "RestClient.Net.DeleteAsync\u003CTSuccess, TError, TParam\u003E",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "delegate",
      "signature": "public delegate Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E DeleteAsync\u003CTSuccess, TError, TParam\u003E(HttpClient httpClient, TParam parameters, CancellationToken cancellationToken = default);",
      "docs": {
        "summary": "Delegate for executing DELETE requests that return a Result with typed success and error responses.",
        "remarks": "",
        "returns": "A Result containing either the success response or an HttpError with the error response.",
        "parameters": [
          {
            "name": "httpClient",
            "description": "The HttpClient to use for the request."
          },
          {
            "name": "parameters",
            "description": "The parameters used to construct the request URL."
          },
          {
            "name": "cancellationToken",
            "description": "Cancellation token to cancel the request."
          }
        ],
        "typeParameters": [
          {
            "name": "TSuccess",
            "description": "The type of the success response body."
          },
          {
            "name": "TError",
            "description": "The type of the error response body."
          },
          {
            "name": "TParam",
            "description": "The type of the parameter used to construct the request URL."
          }
        ]
      },
      "parameters": [
        {
          "name": "httpClient",
          "type": "HttpClient",
          "modifiers": "",
          "default": null
        },
        {
          "name": "parameters",
          "type": "TParam",
          "modifiers": "",
          "default": null
        },
        {
          "name": "cancellationToken",
          "type": "CancellationToken",
          "modifiers": "",
          "default": "default"
        }
      ],
      "source": {
        "file": "RestClient.Net/Delegates.cs",
        "line": 122,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L122"
      },
      "url": "/api/reference/restclient-net-deleteasync-3/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.Deserialize\u00601",
      "name": "Deserialize",
      "displayName": "RestClient.Net.Deserialize\u003CT\u003E",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "delegate",
      "signature": "public delegate Task\u003CT\u003E Deserialize\u003CT\u003E(HttpResponseMessage httpResponseMessage, CancellationToken cancellationToken);",
      "docs": {
        "summary": "Represents an asynchronous function that deserializes an HTTP response message into a typed object.",
        "remarks": "",
        "returns": "A task that represents the asynchronous deserialization operation, containing the deserialized object of type \u0060T\u0060.",
        "parameters": [
          {
            "name": "httpResponseMessage",
            "description": "The HTTP response message containing the content to deserialize."
          },
          {
            "name": "cancellationToken",
            "description": "A token to cancel the deserialization operation."
          }
        ],
        "typeParameters": [
          {
            "name": "T",
            "description": "The type to deserialize the response to."
          }
        ]
      },
      "parameters": [
        {
          "name": "httpResponseMessage",
          "type": "HttpResponseMessage",
          "modifiers": "",
          "default": null
        },
        {
          "name": "cancellationToken",
          "type": "CancellationToken",
          "modifiers": "",
          "default": null
        }
      ],
      "source": {
        "file": "RestClient.Net/Delegates.cs",
        "line": 33,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L33"
      },
      "url": "/api/reference/restclient-net-deserialize-1/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.GetAsync\u00603",
      "name": "GetAsync",
      "displayName": "RestClient.Net.GetAsync\u003CTSuccess, TError, TParam\u003E",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "delegate",
      "signature": "public delegate Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E GetAsync\u003CTSuccess, TError, TParam\u003E(HttpClient httpClient, TParam parameters, CancellationToken cancellationToken = default);",
      "docs": {
        "summary": "Delegate for executing GET requests that return a Result with typed success and error responses.",
        "remarks": "",
        "returns": "A Result containing either the success response or an HttpError with the error response.",
        "parameters": [
          {
            "name": "httpClient",
            "description": "The HttpClient to use for the request."
          },
          {
            "name": "parameters",
            "description": "The parameters used to construct the request URL."
          },
          {
            "name": "cancellationToken",
            "description": "Cancellation token to cancel the request."
          }
        ],
        "typeParameters": [
          {
            "name": "TSuccess",
            "description": "The type of the success response body."
          },
          {
            "name": "TError",
            "description": "The type of the error response body."
          },
          {
            "name": "TParam",
            "description": "The type of the parameter used to construct the request URL."
          }
        ]
      },
      "parameters": [
        {
          "name": "httpClient",
          "type": "HttpClient",
          "modifiers": "",
          "default": null
        },
        {
          "name": "parameters",
          "type": "TParam",
          "modifiers": "",
          "default": null
        },
        {
          "name": "cancellationToken",
          "type": "CancellationToken",
          "modifiers": "",
          "default": "default"
        }
      ],
      "source": {
        "file": "RestClient.Net/Delegates.cs",
        "line": 66,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L66"
      },
      "url": "/api/reference/restclient-net-getasync-3/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.GetRelativeUrl\u00601",
      "name": "GetRelativeUrl",
      "displayName": "RestClient.Net.GetRelativeUrl\u003CTParam\u003E",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "delegate",
      "signature": "public delegate RelativeUrl GetRelativeUrl\u003CTParam\u003E(TParam argument);",
      "docs": {
        "summary": "Represents a function that constructs a relative URL from a typed parameter.",
        "remarks": "",
        "returns": "A relative URL constructed from the parameter.",
        "parameters": [
          {
            "name": "argument",
            "description": "The parameter used to construct the relative URL."
          }
        ],
        "typeParameters": [
          {
            "name": "TParam",
            "description": "The type of the parameter used to construct the URL."
          }
        ]
      },
      "parameters": [
        {
          "name": "argument",
          "type": "TParam",
          "modifiers": "",
          "default": null
        }
      ],
      "source": {
        "file": "RestClient.Net/Delegates.cs",
        "line": 53,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L53"
      },
      "url": "/api/reference/restclient-net-getrelativeurl-1/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.HeadAsync\u00603",
      "name": "HeadAsync",
      "displayName": "RestClient.Net.HeadAsync\u003CTSuccess, TError, TParam\u003E",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "delegate",
      "signature": "public delegate Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E HeadAsync\u003CTSuccess, TError, TParam\u003E(HttpClient httpClient, TParam parameters, CancellationToken cancellationToken = default);",
      "docs": {
        "summary": "Delegate for executing HEAD requests that return a Result with typed success and error responses.",
        "remarks": "",
        "returns": "A Result containing either the success response or an HttpError with the error response.",
        "parameters": [
          {
            "name": "httpClient",
            "description": "The HttpClient to use for the request."
          },
          {
            "name": "parameters",
            "description": "The parameters used to construct the request URL."
          },
          {
            "name": "cancellationToken",
            "description": "Cancellation token to cancel the request."
          }
        ],
        "typeParameters": [
          {
            "name": "TSuccess",
            "description": "The type of the success response body."
          },
          {
            "name": "TError",
            "description": "The type of the error response body."
          },
          {
            "name": "TParam",
            "description": "The type of the parameter used to construct the request URL."
          }
        ]
      },
      "parameters": [
        {
          "name": "httpClient",
          "type": "HttpClient",
          "modifiers": "",
          "default": null
        },
        {
          "name": "parameters",
          "type": "TParam",
          "modifiers": "",
          "default": null
        },
        {
          "name": "cancellationToken",
          "type": "CancellationToken",
          "modifiers": "",
          "default": "default"
        }
      ],
      "source": {
        "file": "RestClient.Net/Delegates.cs",
        "line": 158,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L158"
      },
      "url": "/api/reference/restclient-net-headasync-3/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.HttpAction",
      "name": "HttpAction",
      "displayName": "RestClient.Net.HttpAction",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "delegate",
      "signature": "public delegate Task\u003CHttpResponseMessage\u003E HttpAction(HttpClient httpClient, HttpRequestMessage requestMessage, CancellationToken cancellationToken);",
      "docs": {
        "summary": "Represents an asynchronous HTTP operation that sends a request and returns a response. This delegate encapsulates the core functionality of executing HTTP requests with support for optional request content, headers, and cancellation.",
        "remarks": "",
        "returns": "A task that represents the asynchronous operation, containing the HTTP response message.",
        "parameters": [
          {
            "name": "httpClient",
            "description": "The HTTP client to use for sending the request."
          },
          {
            "name": "requestMessage",
            "description": "The request message to send."
          },
          {
            "name": "cancellationToken",
            "description": "Cancellation token to cancel the operation."
          }
        ],
        "typeParameters": []
      },
      "parameters": [
        {
          "name": "httpClient",
          "type": "HttpClient",
          "modifiers": "",
          "default": null
        },
        {
          "name": "requestMessage",
          "type": "HttpRequestMessage",
          "modifiers": "",
          "default": null
        },
        {
          "name": "cancellationToken",
          "type": "CancellationToken",
          "modifiers": "",
          "default": null
        }
      ],
      "source": {
        "file": "RestClient.Net/HttpAction.cs",
        "line": 12,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpAction.cs#L12"
      },
      "url": "/api/reference/restclient-net-httpaction/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.HttpClientExtensions",
      "name": "HttpClientExtensions",
      "displayName": "RestClient.Net.HttpClientExtensions",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "class",
      "signature": "public static class HttpClientExtensions",
      "docs": {
        "summary": "Extension methods for \u0060HttpClient\u0060 that return \u0060Result{TOk, TError}\u0060.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "RestClient.Net/HttpClientExtensions.cs",
        "line": 9,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L9"
      },
      "url": "/api/reference/restclient-net-httpclientextensions/",
      "members": [
        {
          "id": "M:RestClient.Net.HttpClientExtensions.CreateDelete\u0060\u00603(Urls.AbsoluteUrl,RestClient.Net.BuildRequest{\u0060\u00602},RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601})",
          "anchor": "createdelete-f4ff87f3b95d",
          "name": "CreateDelete",
          "kind": "method",
          "signature": "public static DeleteAsync\u003CTSuccess, TError, TParam\u003E CreateDelete\u003CTSuccess, TError, TParam\u003E(AbsoluteUrl url, BuildRequest\u003CTParam\u003E buildRequest, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError);",
          "docs": {
            "summary": "Creates a DELETE request delegate for the specified URL.",
            "remarks": "",
            "returns": "A delegate that can execute the DELETE request with the specified parameters.",
            "parameters": [
              {
                "name": "url",
                "description": "The absolute URL for the DELETE request."
              },
              {
                "name": "buildRequest",
                "description": "Function to build the request parts from parameters."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize successful HTTP responses."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize error HTTP responses."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type to deserialize successful responses to."
              },
              {
                "name": "TError",
                "description": "The type to deserialize error responses to."
              },
              {
                "name": "TParam",
                "description": "The type of parameter used to construct the request."
              }
            ]
          },
          "parameters": [
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "buildRequest",
              "type": "BuildRequest\u003CTParam\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 477,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L477"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.CreateGet\u0060\u00603(Urls.AbsoluteUrl,RestClient.Net.BuildRequest{\u0060\u00602},RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601})",
          "anchor": "createget-bc5de189be6d",
          "name": "CreateGet",
          "kind": "method",
          "signature": "public static GetAsync\u003CTSuccess, TError, TParam\u003E CreateGet\u003CTSuccess, TError, TParam\u003E(AbsoluteUrl url, BuildRequest\u003CTParam\u003E buildRequest, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError);",
          "docs": {
            "summary": "Creates a GET request delegate for the specified URL.",
            "remarks": "",
            "returns": "A delegate that can execute the GET request with the specified parameters.",
            "parameters": [
              {
                "name": "url",
                "description": "The absolute URL for the GET request."
              },
              {
                "name": "buildRequest",
                "description": "Function to build the request parts from parameters."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize successful HTTP responses."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize error HTTP responses."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type to deserialize successful responses to."
              },
              {
                "name": "TError",
                "description": "The type to deserialize error responses to."
              },
              {
                "name": "TParam",
                "description": "The type of parameter used to construct the request."
              }
            ]
          },
          "parameters": [
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "buildRequest",
              "type": "BuildRequest\u003CTParam\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 382,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L382"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.CreatePatch\u0060\u00603(Urls.AbsoluteUrl,RestClient.Net.BuildRequest{\u0060\u00602},RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601})",
          "anchor": "createpatch-69316f5a189d",
          "name": "CreatePatch",
          "kind": "method",
          "signature": "public static PatchAsync\u003CTSuccess, TError, TParam\u003E CreatePatch\u003CTSuccess, TError, TParam\u003E(AbsoluteUrl url, BuildRequest\u003CTParam\u003E buildRequest, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError);",
          "docs": {
            "summary": "Creates a PATCH request delegate for the specified URL.",
            "remarks": "",
            "returns": "A delegate that can execute the PATCH request with the specified parameters.",
            "parameters": [
              {
                "name": "url",
                "description": "The absolute URL for the PATCH request."
              },
              {
                "name": "buildRequest",
                "description": "Function to build the request parts from parameters."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize successful HTTP responses."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize error HTTP responses."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type to deserialize successful responses to."
              },
              {
                "name": "TError",
                "description": "The type to deserialize error responses to."
              },
              {
                "name": "TParam",
                "description": "The type of parameter used to construct the request."
              }
            ]
          },
          "parameters": [
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "buildRequest",
              "type": "BuildRequest\u003CTParam\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 508,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L508"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.CreatePost\u0060\u00603(Urls.AbsoluteUrl,RestClient.Net.BuildRequest{\u0060\u00602},RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601})",
          "anchor": "createpost-47d379c9d7d5",
          "name": "CreatePost",
          "kind": "method",
          "signature": "public static PostAsync\u003CTSuccess, TError, TParam\u003E CreatePost\u003CTSuccess, TError, TParam\u003E(AbsoluteUrl url, BuildRequest\u003CTParam\u003E buildRequest, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError);",
          "docs": {
            "summary": "Creates a POST request delegate for the specified URL.",
            "remarks": "",
            "returns": "A delegate that can execute the POST request with the specified parameters.",
            "parameters": [
              {
                "name": "url",
                "description": "The absolute URL for the POST request."
              },
              {
                "name": "buildRequest",
                "description": "Function to build the request parts from parameters."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize successful HTTP responses."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize error HTTP responses."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type to deserialize successful responses to."
              },
              {
                "name": "TError",
                "description": "The type to deserialize error responses to."
              },
              {
                "name": "TParam",
                "description": "The type of parameter used to construct the request."
              }
            ]
          },
          "parameters": [
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "buildRequest",
              "type": "BuildRequest\u003CTParam\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 413,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L413"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.CreatePut\u0060\u00603(Urls.AbsoluteUrl,RestClient.Net.BuildRequest{\u0060\u00602},RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601})",
          "anchor": "createput-2975b0d22fd9",
          "name": "CreatePut",
          "kind": "method",
          "signature": "public static PutAsync\u003CTSuccess, TError, TParam\u003E CreatePut\u003CTSuccess, TError, TParam\u003E(AbsoluteUrl url, BuildRequest\u003CTParam\u003E buildRequest, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError);",
          "docs": {
            "summary": "Creates a PUT request delegate for the specified URL.",
            "remarks": "",
            "returns": "A delegate that can execute the PUT request with the specified parameters.",
            "parameters": [
              {
                "name": "url",
                "description": "The absolute URL for the PUT request."
              },
              {
                "name": "buildRequest",
                "description": "Function to build the request parts from parameters."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize successful HTTP responses."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize error HTTP responses."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type to deserialize successful responses to."
              },
              {
                "name": "TError",
                "description": "The type to deserialize error responses to."
              },
              {
                "name": "TParam",
                "description": "The type of parameter used to construct the request."
              }
            ]
          },
          "parameters": [
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "buildRequest",
              "type": "BuildRequest\u003CTParam\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 445,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L445"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.DeleteAsync\u0060\u00602(System.Net.Http.HttpClient,Urls.AbsoluteUrl,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "deleteasync-634c77031d81",
          "name": "DeleteAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E DeleteAsync\u003CTSuccess, TError\u003E(this HttpClient httpClient, AbsoluteUrl url, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Performs a DELETE request.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClient",
                "description": "The HTTP client to use."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClient",
              "type": "HttpClient",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 195,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L195"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.DownloadFileAsync\u0060\u00601(System.Net.Http.HttpClient,Urls.AbsoluteUrl,System.IO.Stream,RestClient.Net.Deserialize{\u0060\u00600},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "downloadfileasync-ce4581af8e09",
          "name": "DownloadFileAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CUnit, HttpError\u003CTError\u003E\u003E\u003E DownloadFileAsync\u003CTError\u003E(this HttpClient httpClient, AbsoluteUrl url, Stream destinationStream, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Downloads a file from the specified URL to a stream.",
            "remarks": "",
            "returns": "A Result containing either a Unit value on success or an HTTP error.",
            "parameters": [
              {
                "name": "httpClient",
                "description": "The HTTP client."
              },
              {
                "name": "url",
                "description": "The URL to download the file from."
              },
              {
                "name": "destinationStream",
                "description": "The stream to write the downloaded file to."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClient",
              "type": "HttpClient",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "destinationStream",
              "type": "Stream",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 316,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L316"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.GetAsync\u0060\u00602(System.Net.Http.HttpClient,Urls.AbsoluteUrl,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "getasync-aa9f77a8be5a",
          "name": "GetAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E GetAsync\u003CTSuccess, TError\u003E(this HttpClient httpClient, AbsoluteUrl url, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Performs a GET request.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClient",
                "description": "The HTTP client to use."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClient",
              "type": "HttpClient",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 101,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L101"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.HeadAsync\u0060\u00602(System.Net.Http.HttpClient,Urls.AbsoluteUrl,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "headasync-325f4fc60e97",
          "name": "HeadAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E HeadAsync\u003CTSuccess, TError\u003E(this HttpClient httpClient, AbsoluteUrl url, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Performs a HEAD request.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClient",
                "description": "The HTTP client to use."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClient",
              "type": "HttpClient",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 257,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L257"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.OptionsAsync\u0060\u00602(System.Net.Http.HttpClient,Urls.AbsoluteUrl,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "optionsasync-84bd956d7579",
          "name": "OptionsAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E OptionsAsync\u003CTSuccess, TError\u003E(this HttpClient httpClient, AbsoluteUrl url, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Performs an OPTIONS request.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClient",
                "description": "The HTTP client to use."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClient",
              "type": "HttpClient",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 287,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L287"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.PatchAsync\u0060\u00602(System.Net.Http.HttpClient,Urls.AbsoluteUrl,System.Net.Http.HttpContent,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "patchasync-f5073b547957",
          "name": "PatchAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E PatchAsync\u003CTSuccess, TError\u003E(this HttpClient httpClient, AbsoluteUrl url, HttpContent? requestBody, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Performs a PATCH request.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClient",
                "description": "The HTTP client to use."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "requestBody",
                "description": "The content to send in the request body."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClient",
              "type": "HttpClient",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "requestBody",
              "type": "HttpContent?",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 226,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L226"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.PostAsync\u0060\u00602(System.Net.Http.HttpClient,Urls.AbsoluteUrl,System.Net.Http.HttpContent,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "postasync-79cbaed2a2a1",
          "name": "PostAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E PostAsync\u003CTSuccess, TError\u003E(this HttpClient httpClient, AbsoluteUrl url, HttpContent? requestBody, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Performs a POST request.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClient",
                "description": "The HTTP client to use."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "requestBody",
                "description": "The content to send in the request body."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClient",
              "type": "HttpClient",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "requestBody",
              "type": "HttpContent?",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 132,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L132"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.PutAsync\u0060\u00602(System.Net.Http.HttpClient,Urls.AbsoluteUrl,System.Net.Http.HttpContent,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "putasync-b61d07237a47",
          "name": "PutAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E PutAsync\u003CTSuccess, TError\u003E(this HttpClient httpClient, AbsoluteUrl url, HttpContent? requestBody, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Performs a PUT request.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClient",
                "description": "The HTTP client to use."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "requestBody",
                "description": "The content to send in the request body."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClient",
              "type": "HttpClient",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "requestBody",
              "type": "HttpContent?",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 164,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L164"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.SendAsync\u0060\u00602(System.Net.Http.HttpClient,Urls.AbsoluteUrl,System.Net.Http.HttpMethod,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Net.Http.HttpContent,RestClient.Net.HttpAction,System.Threading.CancellationToken)",
          "anchor": "sendasync-34cea6381e10",
          "name": "SendAsync",
          "kind": "method",
          "signature": "public static async Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E SendAsync\u003CTSuccess, TError\u003E(this HttpClient httpClient, AbsoluteUrl url, HttpMethod httpMethod, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers, HttpContent? requestBody = null, HttpAction? httpOperation = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Sends an HTTP request asynchronously using the specified HTTP operation.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClient",
                "description": "The HTTP client."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "httpMethod",
                "description": "The HTTP method to use."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "requestBody",
                "description": "The request body stream (optional)."
              },
              {
                "name": "httpOperation",
                "description": "The HTTP operation to perform (optional). This only necessary if you need to override the default."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type of the successful response."
              },
              {
                "name": "TError",
                "description": "The type of the error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClient",
              "type": "HttpClient",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "httpMethod",
              "type": "HttpMethod",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": null
            },
            {
              "name": "requestBody",
              "type": "HttpContent?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "httpOperation",
              "type": "HttpAction?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 26,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L26"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientExtensions.UploadFileAsync\u0060\u00602(System.Net.Http.HttpClient,Urls.AbsoluteUrl,System.Net.Http.HttpContent,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "uploadfileasync-6a3456afc4f3",
          "name": "UploadFileAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E UploadFileAsync\u003CTSuccess, TError\u003E(this HttpClient httpClient, AbsoluteUrl url, HttpContent requestBody, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Uploads a file to the specified URL.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClient",
                "description": "The HTTP client."
              },
              {
                "name": "url",
                "description": "The URL to upload the file to."
              },
              {
                "name": "requestBody",
                "description": "The file content to upload."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClient",
              "type": "HttpClient",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "requestBody",
              "type": "HttpContent",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientExtensions.cs",
            "line": 352,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientExtensions.cs#L352"
          }
        }
      ]
    },
    {
      "id": "T:RestClient.Net.HttpClientFactoryExtensions",
      "name": "HttpClientFactoryExtensions",
      "displayName": "RestClient.Net.HttpClientFactoryExtensions",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "class",
      "signature": "public static class HttpClientFactoryExtensions",
      "docs": {
        "summary": "Provides extension methods for IHttpClientFactory to simplify HTTP operations.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
        "line": 10,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L10"
      },
      "url": "/api/reference/restclient-net-httpclientfactoryextensions/",
      "members": [
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.CreateDelete\u0060\u00603(Urls.AbsoluteUrl,RestClient.Net.BuildRequest{\u0060\u00602},RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601})",
          "anchor": "createdelete-4d74e8044ecc",
          "name": "CreateDelete",
          "kind": "method",
          "signature": "public static DeleteAsync\u003CTSuccess, TError, TParam\u003E CreateDelete\u003CTSuccess, TError, TParam\u003E(AbsoluteUrl url, BuildRequest\u003CTParam\u003E buildRequest, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError);",
          "docs": {
            "summary": "Creates a DELETE request delegate for the specified URL.",
            "remarks": "",
            "returns": "A delegate that can execute the DELETE request with the specified parameters.",
            "parameters": [
              {
                "name": "url",
                "description": "The absolute URL for the DELETE request."
              },
              {
                "name": "buildRequest",
                "description": "Function to build the request parts from parameters."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize successful HTTP responses."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize error HTTP responses."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type to deserialize successful responses to."
              },
              {
                "name": "TError",
                "description": "The type to deserialize error responses to."
              },
              {
                "name": "TParam",
                "description": "The type of parameter used to construct the request."
              }
            ]
          },
          "parameters": [
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "buildRequest",
              "type": "BuildRequest\u003CTParam\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 383,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L383"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.CreateGet\u0060\u00603(Urls.AbsoluteUrl,RestClient.Net.BuildRequest{\u0060\u00602},RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601})",
          "anchor": "createget-64e898a6b0f8",
          "name": "CreateGet",
          "kind": "method",
          "signature": "public static GetAsync\u003CTSuccess, TError, TParam\u003E CreateGet\u003CTSuccess, TError, TParam\u003E(AbsoluteUrl url, BuildRequest\u003CTParam\u003E buildRequest, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError);",
          "docs": {
            "summary": "Creates a GET request delegate for the specified URL.",
            "remarks": "",
            "returns": "A delegate that can execute the GET request with the specified parameters.",
            "parameters": [
              {
                "name": "url",
                "description": "The absolute URL for the GET request."
              },
              {
                "name": "buildRequest",
                "description": "Function to build the request parts from parameters."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize successful HTTP responses."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize error HTTP responses."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type to deserialize successful responses to."
              },
              {
                "name": "TError",
                "description": "The type to deserialize error responses to."
              },
              {
                "name": "TParam",
                "description": "The type of parameter used to construct the request."
              }
            ]
          },
          "parameters": [
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "buildRequest",
              "type": "BuildRequest\u003CTParam\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 288,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L288"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.CreateHead\u0060\u00603(Urls.AbsoluteUrl,RestClient.Net.BuildRequest{\u0060\u00602},RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601})",
          "anchor": "createhead-ad14a930f092",
          "name": "CreateHead",
          "kind": "method",
          "signature": "public static HeadAsync\u003CTSuccess, TError, TParam\u003E CreateHead\u003CTSuccess, TError, TParam\u003E(AbsoluteUrl url, BuildRequest\u003CTParam\u003E buildRequest, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError);",
          "docs": {
            "summary": "Creates a HEAD request delegate for the specified URL.",
            "remarks": "",
            "returns": "A delegate that can execute the HEAD request with the specified parameters.",
            "parameters": [
              {
                "name": "url",
                "description": "The absolute URL for the HEAD request."
              },
              {
                "name": "buildRequest",
                "description": "Function to build the request parts from parameters."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize successful HTTP responses."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize error HTTP responses."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type to deserialize successful responses to."
              },
              {
                "name": "TError",
                "description": "The type to deserialize error responses to."
              },
              {
                "name": "TParam",
                "description": "The type of parameter used to construct the request."
              }
            ]
          },
          "parameters": [
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "buildRequest",
              "type": "BuildRequest\u003CTParam\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 446,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L446"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.CreateOptions\u0060\u00603(Urls.AbsoluteUrl,RestClient.Net.BuildRequest{\u0060\u00602},RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601})",
          "anchor": "createoptions-420c3a7a2528",
          "name": "CreateOptions",
          "kind": "method",
          "signature": "public static OptionsAsync\u003CTSuccess, TError, TParam\u003E CreateOptions\u003CTSuccess, TError, TParam\u003E(AbsoluteUrl url, BuildRequest\u003CTParam\u003E buildRequest, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError);",
          "docs": {
            "summary": "Creates an OPTIONS request delegate for the specified URL.",
            "remarks": "",
            "returns": "A delegate that can execute the OPTIONS request with the specified parameters.",
            "parameters": [
              {
                "name": "url",
                "description": "The absolute URL for the OPTIONS request."
              },
              {
                "name": "buildRequest",
                "description": "Function to build the request parts from parameters."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize successful HTTP responses."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize error HTTP responses."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type to deserialize successful responses to."
              },
              {
                "name": "TError",
                "description": "The type to deserialize error responses to."
              },
              {
                "name": "TParam",
                "description": "The type of parameter used to construct the request."
              }
            ]
          },
          "parameters": [
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "buildRequest",
              "type": "BuildRequest\u003CTParam\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 477,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L477"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.CreatePatch\u0060\u00603(Urls.AbsoluteUrl,RestClient.Net.BuildRequest{\u0060\u00602},RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601})",
          "anchor": "createpatch-af35fc7540fd",
          "name": "CreatePatch",
          "kind": "method",
          "signature": "public static PatchAsync\u003CTSuccess, TError, TParam\u003E CreatePatch\u003CTSuccess, TError, TParam\u003E(AbsoluteUrl url, BuildRequest\u003CTParam\u003E buildRequest, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError);",
          "docs": {
            "summary": "Creates a PATCH request delegate for the specified URL.",
            "remarks": "",
            "returns": "A delegate that can execute the PATCH request with the specified parameters.",
            "parameters": [
              {
                "name": "url",
                "description": "The absolute URL for the PATCH request."
              },
              {
                "name": "buildRequest",
                "description": "Function to build the request parts from parameters."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize successful HTTP responses."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize error HTTP responses."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type to deserialize successful responses to."
              },
              {
                "name": "TError",
                "description": "The type to deserialize error responses to."
              },
              {
                "name": "TParam",
                "description": "The type of parameter used to construct the request."
              }
            ]
          },
          "parameters": [
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "buildRequest",
              "type": "BuildRequest\u003CTParam\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 414,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L414"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.CreatePost\u0060\u00603(Urls.AbsoluteUrl,RestClient.Net.BuildRequest{\u0060\u00602},RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601})",
          "anchor": "createpost-ebbbf0108453",
          "name": "CreatePost",
          "kind": "method",
          "signature": "public static PostAsync\u003CTSuccess, TError, TParam\u003E CreatePost\u003CTSuccess, TError, TParam\u003E(AbsoluteUrl url, BuildRequest\u003CTParam\u003E buildRequest, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError);",
          "docs": {
            "summary": "Creates a POST request delegate for the specified URL.",
            "remarks": "",
            "returns": "A delegate that can execute the POST request with the specified parameters.",
            "parameters": [
              {
                "name": "url",
                "description": "The absolute URL for the POST request."
              },
              {
                "name": "buildRequest",
                "description": "Function to build the request parts from parameters."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize successful HTTP responses."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize error HTTP responses."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type to deserialize successful responses to."
              },
              {
                "name": "TError",
                "description": "The type to deserialize error responses to."
              },
              {
                "name": "TParam",
                "description": "The type of parameter used to construct the request."
              }
            ]
          },
          "parameters": [
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "buildRequest",
              "type": "BuildRequest\u003CTParam\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 319,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L319"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.CreatePut\u0060\u00603(Urls.AbsoluteUrl,RestClient.Net.BuildRequest{\u0060\u00602},RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601})",
          "anchor": "createput-f09b69d2fbb7",
          "name": "CreatePut",
          "kind": "method",
          "signature": "public static PutAsync\u003CTSuccess, TError, TParam\u003E CreatePut\u003CTSuccess, TError, TParam\u003E(AbsoluteUrl url, BuildRequest\u003CTParam\u003E buildRequest, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError);",
          "docs": {
            "summary": "Creates a PUT request delegate for the specified URL.",
            "remarks": "",
            "returns": "A delegate that can execute the PUT request with the specified parameters.",
            "parameters": [
              {
                "name": "url",
                "description": "The absolute URL for the PUT request."
              },
              {
                "name": "buildRequest",
                "description": "Function to build the request parts from parameters."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize successful HTTP responses."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize error HTTP responses."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type to deserialize successful responses to."
              },
              {
                "name": "TError",
                "description": "The type to deserialize error responses to."
              },
              {
                "name": "TParam",
                "description": "The type of parameter used to construct the request."
              }
            ]
          },
          "parameters": [
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "buildRequest",
              "type": "BuildRequest\u003CTParam\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 351,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L351"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.DeleteAsync\u0060\u00602(System.Net.Http.IHttpClientFactory,System.String,Urls.AbsoluteUrl,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "deleteasync-f8904e05021c",
          "name": "DeleteAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E DeleteAsync\u003CTSuccess, TError\u003E(this IHttpClientFactory httpClientFactory, string clientName, AbsoluteUrl url, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Performs a DELETE request.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClientFactory",
                "description": "The HTTP client factory instance."
              },
              {
                "name": "clientName",
                "description": "The name of the client to create."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClientFactory",
              "type": "IHttpClientFactory",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "clientName",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 163,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L163"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.DownloadFileAsync\u0060\u00601(System.Net.Http.IHttpClientFactory,System.String,Urls.AbsoluteUrl,System.IO.Stream,RestClient.Net.Deserialize{\u0060\u00600},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "downloadfileasync-6dc1afc36b64",
          "name": "DownloadFileAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CUnit, HttpError\u003CTError\u003E\u003E\u003E DownloadFileAsync\u003CTError\u003E(this IHttpClientFactory httpClientFactory, string clientName, AbsoluteUrl url, Stream destinationStream, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Downloads a file from the specified URL to a stream.",
            "remarks": "",
            "returns": "A Result containing either a Unit value on success or an HTTP error.",
            "parameters": [
              {
                "name": "httpClientFactory",
                "description": "The HTTP client factory instance."
              },
              {
                "name": "clientName",
                "description": "The name of the client to create."
              },
              {
                "name": "url",
                "description": "The URL to download the file from."
              },
              {
                "name": "destinationStream",
                "description": "The stream to write the downloaded file to."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClientFactory",
              "type": "IHttpClientFactory",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "clientName",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "destinationStream",
              "type": "Stream",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 188,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L188"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.GetAsync\u0060\u00602(System.Net.Http.IHttpClientFactory,System.String,Urls.AbsoluteUrl,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "getasync-6ab5093b9829",
          "name": "GetAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E GetAsync\u003CTSuccess, TError\u003E(this IHttpClientFactory httpClientFactory, string clientName, AbsoluteUrl url, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Performs a GET request.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClientFactory",
                "description": "The HTTP client factory instance."
              },
              {
                "name": "clientName",
                "description": "The name of the client to create."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClientFactory",
              "type": "IHttpClientFactory",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "clientName",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 67,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L67"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.PatchAsync\u0060\u00602(System.Net.Http.IHttpClientFactory,System.String,Urls.AbsoluteUrl,System.Net.Http.HttpContent,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "patchasync-d44603eedbb5",
          "name": "PatchAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E PatchAsync\u003CTSuccess, TError\u003E(this IHttpClientFactory httpClientFactory, string clientName, AbsoluteUrl url, HttpContent requestBody, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Performs a PATCH request.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClientFactory",
                "description": "The HTTP client factory instance."
              },
              {
                "name": "clientName",
                "description": "The name of the client to create."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "requestBody",
                "description": "The content to send in the request body."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClientFactory",
              "type": "IHttpClientFactory",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "clientName",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "requestBody",
              "type": "HttpContent",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 256,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L256"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.PostAsync\u0060\u00602(System.Net.Http.IHttpClientFactory,System.String,Urls.AbsoluteUrl,System.Net.Http.HttpContent,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "postasync-51dbb936ad75",
          "name": "PostAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E PostAsync\u003CTSuccess, TError\u003E(this IHttpClientFactory httpClientFactory, string clientName, AbsoluteUrl url, HttpContent? requestBody, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Performs a POST request.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClientFactory",
                "description": "The HTTP client factory instance."
              },
              {
                "name": "clientName",
                "description": "The name of the client to create."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "requestBody",
                "description": "The content to send in the request body."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClientFactory",
              "type": "IHttpClientFactory",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "clientName",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "requestBody",
              "type": "HttpContent?",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 94,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L94"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.PutAsync\u0060\u00602(System.Net.Http.IHttpClientFactory,System.String,Urls.AbsoluteUrl,System.Net.Http.HttpContent,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "putasync-0dd048ca9a47",
          "name": "PutAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E PutAsync\u003CTSuccess, TError\u003E(this IHttpClientFactory httpClientFactory, string clientName, AbsoluteUrl url, HttpContent? requestBody, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Performs a PUT request.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClientFactory",
                "description": "The HTTP client factory instance."
              },
              {
                "name": "clientName",
                "description": "The name of the client to create."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "requestBody",
                "description": "The content to send in the request body."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClientFactory",
              "type": "IHttpClientFactory",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "clientName",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "requestBody",
              "type": "HttpContent?",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 129,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L129"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.SendAsync\u0060\u00602(System.Net.Http.IHttpClientFactory,System.String,Urls.AbsoluteUrl,System.Net.Http.HttpMethod,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Net.Http.HttpContent,System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},RestClient.Net.HttpAction,System.Threading.CancellationToken)",
          "anchor": "sendasync-be2a70a1908e",
          "name": "SendAsync",
          "kind": "method",
          "signature": "public static async Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E SendAsync\u003CTSuccess, TError\u003E(this IHttpClientFactory httpClientFactory, string clientName, AbsoluteUrl url, HttpMethod httpMethod, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, HttpContent? requestBody = null, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, HttpAction? httpOperation = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Sends an HTTP request asynchronously using the specified HTTP operation.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClientFactory",
                "description": "The HTTP client factory."
              },
              {
                "name": "clientName",
                "description": "The name of the client to create."
              },
              {
                "name": "url",
                "description": "The URL to send the request to."
              },
              {
                "name": "httpMethod",
                "description": "The HTTP method to use for the request."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "requestBody",
                "description": "The request body stream (optional)."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "httpOperation",
                "description": "An optional action to configure the HttpClient before sending the request."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type of the successful response."
              },
              {
                "name": "TError",
                "description": "The type of the error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClientFactory",
              "type": "IHttpClientFactory",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "clientName",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "httpMethod",
              "type": "HttpMethod",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "requestBody",
              "type": "HttpContent?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "httpOperation",
              "type": "HttpAction?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 28,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L28"
          }
        },
        {
          "id": "M:RestClient.Net.HttpClientFactoryExtensions.UploadFileAsync\u0060\u00602(System.Net.Http.IHttpClientFactory,System.String,Urls.AbsoluteUrl,RestClient.Net.Utilities.ProgressReportingHttpContent,RestClient.Net.Deserialize{\u0060\u00600},RestClient.Net.Deserialize{\u0060\u00601},System.Collections.Generic.IReadOnlyDictionary{System.String,System.String},System.Threading.CancellationToken)",
          "anchor": "uploadfileasync-9561f9a6d6ce",
          "name": "UploadFileAsync",
          "kind": "method",
          "signature": "public static Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E UploadFileAsync\u003CTSuccess, TError\u003E(this IHttpClientFactory httpClientFactory, string clientName, AbsoluteUrl url, ProgressReportingHttpContent fileStream, Deserialize\u003CTSuccess\u003E deserializeSuccess, Deserialize\u003CTError\u003E deserializeError, IReadOnlyDictionary\u003Cstring, string\u003E? headers = null, CancellationToken cancellationToken = default);",
          "docs": {
            "summary": "Uploads a file to the specified URL.",
            "remarks": "",
            "returns": "A Result containing either the successful response or an HTTP error.",
            "parameters": [
              {
                "name": "httpClientFactory",
                "description": "The HTTP client factory instance."
              },
              {
                "name": "clientName",
                "description": "The name of the client to create."
              },
              {
                "name": "url",
                "description": "The URL to upload the file to."
              },
              {
                "name": "fileStream",
                "description": "The file content to upload."
              },
              {
                "name": "deserializeSuccess",
                "description": "Function to deserialize a successful response."
              },
              {
                "name": "deserializeError",
                "description": "Function to deserialize an error response."
              },
              {
                "name": "headers",
                "description": "The headers to include in the request (optional)."
              },
              {
                "name": "cancellationToken",
                "description": "A token to cancel the operation."
              }
            ],
            "typeParameters": [
              {
                "name": "TSuccess",
                "description": "The type representing a successful response."
              },
              {
                "name": "TError",
                "description": "The type representing an error response."
              }
            ]
          },
          "parameters": [
            {
              "name": "httpClientFactory",
              "type": "IHttpClientFactory",
              "modifiers": "this",
              "default": null
            },
            {
              "name": "clientName",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "url",
              "type": "AbsoluteUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "fileStream",
              "type": "ProgressReportingHttpContent",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeSuccess",
              "type": "Deserialize\u003CTSuccess\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "deserializeError",
              "type": "Deserialize\u003CTError\u003E",
              "modifiers": "",
              "default": null
            },
            {
              "name": "headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "cancellationToken",
              "type": "CancellationToken",
              "modifiers": "",
              "default": "default"
            }
          ],
          "source": {
            "file": "RestClient.Net/HttpClientFactoryExtensions.cs",
            "line": 221,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/HttpClientFactoryExtensions.cs#L221"
          }
        }
      ]
    },
    {
      "id": "T:RestClient.Net.HttpRequestParts",
      "name": "HttpRequestParts",
      "displayName": "RestClient.Net.HttpRequestParts",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "struct",
      "signature": "public readonly record struct HttpRequestParts(RelativeUrl RelativeUrl, HttpContent? Body, IReadOnlyDictionary\u003Cstring, string\u003E? Headers)",
      "docs": {
        "summary": "Represents the parts of an HTTP request including URL, body, and headers.",
        "remarks": "",
        "returns": "",
        "parameters": [
          {
            "name": "RelativeUrl",
            "description": "The relative URL for the request."
          },
          {
            "name": "Body",
            "description": "The optional HTTP content for the request body."
          },
          {
            "name": "Headers",
            "description": "The optional headers to include in the request."
          }
        ],
        "typeParameters": []
      },
      "parameters": [
        {
          "name": "RelativeUrl",
          "type": "RelativeUrl",
          "modifiers": "",
          "default": null
        },
        {
          "name": "Body",
          "type": "HttpContent?",
          "modifiers": "",
          "default": null
        },
        {
          "name": "Headers",
          "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
          "modifiers": "",
          "default": null
        }
      ],
      "source": {
        "file": "RestClient.Net/Delegates.cs",
        "line": 12,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L12"
      },
      "url": "/api/reference/restclient-net-httprequestparts/",
      "members": [
        {
          "id": "M:RestClient.Net.HttpRequestParts.#ctor(Urls.RelativeUrl,System.Net.Http.HttpContent,System.Collections.Generic.IReadOnlyDictionary{System.String,System.String})",
          "anchor": "ctor-e3ba8be4f516",
          "name": ".ctor",
          "kind": "method",
          "signature": "public HttpRequestParts(RelativeUrl RelativeUrl, HttpContent? Body, IReadOnlyDictionary\u003Cstring, string\u003E? Headers);",
          "docs": {
            "summary": "Represents the parts of an HTTP request including URL, body, and headers.",
            "remarks": "",
            "returns": "",
            "parameters": [
              {
                "name": "RelativeUrl",
                "description": "The relative URL for the request."
              },
              {
                "name": "Body",
                "description": "The optional HTTP content for the request body."
              },
              {
                "name": "Headers",
                "description": "The optional headers to include in the request."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "RelativeUrl",
              "type": "RelativeUrl",
              "modifiers": "",
              "default": null
            },
            {
              "name": "Body",
              "type": "HttpContent?",
              "modifiers": "",
              "default": null
            },
            {
              "name": "Headers",
              "type": "IReadOnlyDictionary\u003Cstring, string\u003E?",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net/Delegates.cs",
            "line": 12,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L12"
          }
        },
        {
          "id": "P:RestClient.Net.HttpRequestParts.Body",
          "anchor": "body-e90298371992",
          "name": "Body",
          "kind": "property",
          "signature": "public HttpContent? Body { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net/Delegates.cs",
            "line": 14,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L14"
          }
        },
        {
          "id": "P:RestClient.Net.HttpRequestParts.Headers",
          "anchor": "headers-6a9bf1419f62",
          "name": "Headers",
          "kind": "property",
          "signature": "public IReadOnlyDictionary\u003Cstring, string\u003E? Headers { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net/Delegates.cs",
            "line": 15,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L15"
          }
        },
        {
          "id": "P:RestClient.Net.HttpRequestParts.RelativeUrl",
          "anchor": "relativeurl-41694f9f16c7",
          "name": "RelativeUrl",
          "kind": "property",
          "signature": "public RelativeUrl RelativeUrl { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net/Delegates.cs",
            "line": 13,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L13"
          }
        }
      ]
    },
    {
      "id": "T:RestClient.Net.McpGenerator.McpServerGenerator",
      "name": "McpServerGenerator",
      "displayName": "RestClient.Net.McpGenerator.McpServerGenerator",
      "namespace": "RestClient.Net.McpGenerator",
      "project": "RestClient.Net.McpGenerator",
      "kind": "class",
      "signature": "public static class McpServerGenerator",
      "docs": {
        "summary": "Generates MCP server code from OpenAPI specifications.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "RestClient.Net.McpGenerator/McpServerGenerator.cs",
        "line": 8,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.McpGenerator/McpServerGenerator.cs#L8"
      },
      "url": "/api/reference/restclient-net-mcpgenerator-mcpservergenerator/",
      "members": [
        {
          "id": "M:RestClient.Net.McpGenerator.McpServerGenerator.Generate(System.String,System.String,System.String,System.String,System.Collections.Generic.ISet{System.String})",
          "anchor": "generate-3205a21b6df9",
          "name": "Generate",
          "kind": "method",
          "signature": "public static Result\u003Cstring, string\u003E Generate(string openApiContent, string @namespace, string serverName, string extensionsNamespace, ISet\u003Cstring\u003E? includeTags = null);",
          "docs": {
            "summary": "Generates MCP server tools code from an OpenAPI document.",
            "remarks": "",
            "returns": "A Result containing the generated C# code or error message.",
            "parameters": [
              {
                "name": "openApiContent",
                "description": "The OpenAPI document content (JSON or YAML)."
              },
              {
                "name": "namespace",
                "description": "The namespace for generated MCP tools."
              },
              {
                "name": "serverName",
                "description": "The MCP server name."
              },
              {
                "name": "extensionsNamespace",
                "description": "The namespace of the pre-generated extensions."
              },
              {
                "name": "includeTags",
                "description": "Optional set of tags to include. If specified, only operations with these tags are generated."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "openApiContent",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "namespace",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "serverName",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "extensionsNamespace",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "includeTags",
              "type": "ISet\u003Cstring\u003E?",
              "modifiers": "",
              "default": "null"
            }
          ],
          "source": {
            "file": "RestClient.Net.McpGenerator/McpServerGenerator.cs",
            "line": 18,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.McpGenerator/McpServerGenerator.cs#L18"
          }
        }
      ]
    },
    {
      "id": "T:RestClient.Net.OpenApiGenerator.CodeGenerationHelpers",
      "name": "CodeGenerationHelpers",
      "displayName": "RestClient.Net.OpenApiGenerator.CodeGenerationHelpers",
      "namespace": "RestClient.Net.OpenApiGenerator",
      "project": "RestClient.Net.OpenApiGenerator",
      "kind": "class",
      "signature": "public static partial class CodeGenerationHelpers",
      "docs": {
        "summary": "Helper methods for code generation.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs",
        "line": 6,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs#L6"
      },
      "url": "/api/reference/restclient-net-openapigenerator-codegenerationhelpers/",
      "members": [
        {
          "id": "M:RestClient.Net.OpenApiGenerator.CodeGenerationHelpers.BuildPathExpression(System.String)",
          "anchor": "buildpathexpression-bbbc51899fb4",
          "name": "BuildPathExpression",
          "kind": "method",
          "signature": "public static string BuildPathExpression(string path);",
          "docs": {
            "summary": "Builds a path expression from a path template.",
            "remarks": "",
            "returns": "The path expression.",
            "parameters": [
              {
                "name": "path",
                "description": "The path template."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "path",
              "type": "string",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs",
            "line": 72,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs#L72"
          }
        },
        {
          "id": "M:RestClient.Net.OpenApiGenerator.CodeGenerationHelpers.Indent(System.String,System.Int32)",
          "anchor": "indent-693750253fe6",
          "name": "Indent",
          "kind": "method",
          "signature": "public static string Indent(string text, int level);",
          "docs": {
            "summary": "Indents text by the specified number of levels.",
            "remarks": "",
            "returns": "The indented text.",
            "parameters": [
              {
                "name": "text",
                "description": "The text to indent."
              },
              {
                "name": "level",
                "description": "The indentation level (1 level = 4 spaces)."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "text",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "level",
              "type": "int",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs",
            "line": 63,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs#L63"
          }
        },
        {
          "id": "M:RestClient.Net.OpenApiGenerator.CodeGenerationHelpers.PathParameterRegex",
          "anchor": "pathparameterregex-1ab56f8e6d16",
          "name": "PathParameterRegex",
          "kind": "method",
          "signature": "[GeneratedRegex(@\u0022\\{[^}]\u002B\\}\u0022)]\r\npublic static partial Regex PathParameterRegex();",
          "docs": {
            "summary": "Regular expression for matching path parameters.",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs",
            "line": 97,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs#L97"
          }
        },
        {
          "id": "M:RestClient.Net.OpenApiGenerator.CodeGenerationHelpers.SanitizePathParameters(System.String,System.Collections.Generic.List{RestClient.Net.OpenApiGenerator.ParameterInfo})",
          "anchor": "sanitizepathparameters-88fa3b622245",
          "name": "SanitizePathParameters",
          "kind": "method",
          "signature": "public static string SanitizePathParameters(string path, List\u003CParameterInfo\u003E parameters);",
          "docs": {
            "summary": "Replaces path parameter names with their sanitized C# equivalents.",
            "remarks": "",
            "returns": "The path with sanitized parameter names.",
            "parameters": [
              {
                "name": "path",
                "description": "The path template with original parameter names."
              },
              {
                "name": "parameters",
                "description": "List of parameters with original and sanitized names."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "path",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "parameters",
              "type": "List\u003CParameterInfo\u003E",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs",
            "line": 81,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs#L81"
          }
        },
        {
          "id": "M:RestClient.Net.OpenApiGenerator.CodeGenerationHelpers.ToCamelCase(System.String)",
          "anchor": "tocamelcase-ec886c34ee33",
          "name": "ToCamelCase",
          "kind": "method",
          "signature": "public static string ToCamelCase(string text);",
          "docs": {
            "summary": "Converts a string to camelCase.",
            "remarks": "",
            "returns": "The camelCase version of the text.",
            "parameters": [
              {
                "name": "text",
                "description": "The text to convert."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "text",
              "type": "string",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs",
            "line": 48,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs#L48"
          }
        },
        {
          "id": "M:RestClient.Net.OpenApiGenerator.CodeGenerationHelpers.ToPascalCase(System.String)",
          "anchor": "topascalcase-57a72c3490e5",
          "name": "ToPascalCase",
          "kind": "method",
          "signature": "public static string ToPascalCase(string text);",
          "docs": {
            "summary": "Converts a string to PascalCase.",
            "remarks": "",
            "returns": "The PascalCase version of the text.",
            "parameters": [
              {
                "name": "text",
                "description": "The text to convert."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "text",
              "type": "string",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs",
            "line": 11,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/CodeGenerationHelpers.cs#L11"
          }
        }
      ]
    },
    {
      "id": "T:RestClient.Net.OpenApiGenerator.ExtensionMethodGenerator",
      "name": "ExtensionMethodGenerator",
      "displayName": "RestClient.Net.OpenApiGenerator.ExtensionMethodGenerator",
      "namespace": "RestClient.Net.OpenApiGenerator",
      "project": "RestClient.Net.OpenApiGenerator",
      "kind": "class",
      "signature": "public static class ExtensionMethodGenerator",
      "docs": {
        "summary": "Generates C# extension methods from OpenAPI operations.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs",
        "line": 22,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs#L22"
      },
      "url": "/api/reference/restclient-net-openapigenerator-extensionmethodgenerator/",
      "members": [
        {
          "id": "M:RestClient.Net.OpenApiGenerator.ExtensionMethodGenerator.GenerateExtensionMethods(Microsoft.OpenApi.OpenApiDocument,System.String,System.String,System.String,System.String,System.String,System.Boolean)",
          "anchor": "generateextensionmethods-d985ac545737",
          "name": "GenerateExtensionMethods",
          "kind": "method",
          "signature": "public static (string ExtensionMethods, string TypeAliases) GenerateExtensionMethods(OpenApiDocument document, string @namespace, string className, string baseUrl, string basePath, string jsonNamingPolicy = \u0022camelCase\u0022, bool caseInsensitive = true);",
          "docs": {
            "summary": "Generates extension methods from an OpenAPI document.",
            "remarks": "",
            "returns": "Tuple containing the extension methods code and type aliases code.",
            "parameters": [
              {
                "name": "document",
                "description": "The OpenAPI document."
              },
              {
                "name": "namespace",
                "description": "The namespace for generated code."
              },
              {
                "name": "className",
                "description": "The class name for extension methods."
              },
              {
                "name": "baseUrl",
                "description": "The base URL for API requests (not used, kept for API compatibility)."
              },
              {
                "name": "basePath",
                "description": "The base path for API requests."
              },
              {
                "name": "jsonNamingPolicy",
                "description": "JSON naming policy (camelCase, PascalCase, snake_case)."
              },
              {
                "name": "caseInsensitive",
                "description": "Enable case-insensitive JSON deserialization."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "document",
              "type": "OpenApiDocument",
              "modifiers": "",
              "default": null
            },
            {
              "name": "namespace",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "className",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "baseUrl",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "basePath",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "jsonNamingPolicy",
              "type": "string",
              "modifiers": "",
              "default": "\u0022camelCase\u0022"
            },
            {
              "name": "caseInsensitive",
              "type": "bool",
              "modifiers": "",
              "default": "true"
            }
          ],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs",
            "line": 34,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs#L34"
          }
        }
      ]
    },
    {
      "id": "T:RestClient.Net.OpenApiGenerator.GeneratorResult",
      "name": "GeneratorResult",
      "displayName": "RestClient.Net.OpenApiGenerator.GeneratorResult",
      "namespace": "RestClient.Net.OpenApiGenerator",
      "project": "RestClient.Net.OpenApiGenerator",
      "kind": "class",
      "signature": "public record GeneratorResult(string ExtensionMethodsCode, string ModelsCode)",
      "docs": {
        "summary": "Represents the result of code generation.",
        "remarks": "",
        "returns": "",
        "parameters": [
          {
            "name": "ExtensionMethodsCode",
            "description": "The generated extension methods code."
          },
          {
            "name": "ModelsCode",
            "description": "The generated models code."
          }
        ],
        "typeParameters": []
      },
      "parameters": [
        {
          "name": "ExtensionMethodsCode",
          "type": "string",
          "modifiers": "",
          "default": null
        },
        {
          "name": "ModelsCode",
          "type": "string",
          "modifiers": "",
          "default": null
        }
      ],
      "source": {
        "file": "RestClient.Net.OpenApiGenerator/GeneratorResult.cs",
        "line": 6,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/GeneratorResult.cs#L6"
      },
      "url": "/api/reference/restclient-net-openapigenerator-generatorresult/",
      "members": [
        {
          "id": "M:RestClient.Net.OpenApiGenerator.GeneratorResult.#ctor(System.String,System.String)",
          "anchor": "ctor-291d8fe9e6f1",
          "name": ".ctor",
          "kind": "method",
          "signature": "public GeneratorResult(string ExtensionMethodsCode, string ModelsCode);",
          "docs": {
            "summary": "Represents the result of code generation.",
            "remarks": "",
            "returns": "",
            "parameters": [
              {
                "name": "ExtensionMethodsCode",
                "description": "The generated extension methods code."
              },
              {
                "name": "ModelsCode",
                "description": "The generated models code."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "ExtensionMethodsCode",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "ModelsCode",
              "type": "string",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/GeneratorResult.cs",
            "line": 6,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/GeneratorResult.cs#L6"
          }
        },
        {
          "id": "P:RestClient.Net.OpenApiGenerator.GeneratorResult.ExtensionMethodsCode",
          "anchor": "extensionmethodscode-704be6acc948",
          "name": "ExtensionMethodsCode",
          "kind": "property",
          "signature": "public string ExtensionMethodsCode { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/GeneratorResult.cs",
            "line": 6,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/GeneratorResult.cs#L6"
          }
        },
        {
          "id": "P:RestClient.Net.OpenApiGenerator.GeneratorResult.ModelsCode",
          "anchor": "modelscode-ac767ec86fc2",
          "name": "ModelsCode",
          "kind": "property",
          "signature": "public string ModelsCode { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/GeneratorResult.cs",
            "line": 6,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/GeneratorResult.cs#L6"
          }
        }
      ]
    },
    {
      "id": "T:RestClient.Net.OpenApiGenerator.ModelGenerator",
      "name": "ModelGenerator",
      "displayName": "RestClient.Net.OpenApiGenerator.ModelGenerator",
      "namespace": "RestClient.Net.OpenApiGenerator",
      "project": "RestClient.Net.OpenApiGenerator",
      "kind": "class",
      "signature": "public static class ModelGenerator",
      "docs": {
        "summary": "Generates C# model classes from OpenAPI schemas.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "RestClient.Net.OpenApiGenerator/ModelGenerator.cs",
        "line": 4,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ModelGenerator.cs#L4"
      },
      "url": "/api/reference/restclient-net-openapigenerator-modelgenerator/",
      "members": [
        {
          "id": "M:RestClient.Net.OpenApiGenerator.ModelGenerator.GenerateModels(Microsoft.OpenApi.OpenApiDocument,System.String)",
          "anchor": "generatemodels-af8385b79d26",
          "name": "GenerateModels",
          "kind": "method",
          "signature": "public static string GenerateModels(OpenApiDocument document, string @namespace);",
          "docs": {
            "summary": "Generates C# models from an OpenAPI document.",
            "remarks": "",
            "returns": "The generated models code.",
            "parameters": [
              {
                "name": "document",
                "description": "The OpenAPI document."
              },
              {
                "name": "namespace",
                "description": "The namespace for the generated models."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "document",
              "type": "OpenApiDocument",
              "modifiers": "",
              "default": null
            },
            {
              "name": "namespace",
              "type": "string",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/ModelGenerator.cs",
            "line": 10,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ModelGenerator.cs#L10"
          }
        },
        {
          "id": "M:RestClient.Net.OpenApiGenerator.ModelGenerator.MapOpenApiType(Microsoft.OpenApi.IOpenApiSchema,System.Collections.Generic.IDictionary{System.String,Microsoft.OpenApi.IOpenApiSchema})",
          "anchor": "mapopenapitype-21027701ec69",
          "name": "MapOpenApiType",
          "kind": "method",
          "signature": "public static string MapOpenApiType(IOpenApiSchema? schema, IDictionary\u003Cstring, IOpenApiSchema\u003E? schemas = null);",
          "docs": {
            "summary": "Maps an OpenAPI schema to a C# type.",
            "remarks": "",
            "returns": "The C# type name.",
            "parameters": [
              {
                "name": "schema",
                "description": "The OpenAPI schema."
              },
              {
                "name": "schemas",
                "description": "Optional schemas dictionary to check for string enums."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "schema",
              "type": "IOpenApiSchema?",
              "modifiers": "",
              "default": null
            },
            {
              "name": "schemas",
              "type": "IDictionary\u003Cstring, IOpenApiSchema\u003E?",
              "modifiers": "",
              "default": "null"
            }
          ],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/ModelGenerator.cs",
            "line": 107,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ModelGenerator.cs#L107"
          }
        }
      ]
    },
    {
      "id": "T:RestClient.Net.OpenApiGenerator.OpenApiCodeGenerator",
      "name": "OpenApiCodeGenerator",
      "displayName": "RestClient.Net.OpenApiGenerator.OpenApiCodeGenerator",
      "namespace": "RestClient.Net.OpenApiGenerator",
      "project": "RestClient.Net.OpenApiGenerator",
      "kind": "class",
      "signature": "public static class OpenApiCodeGenerator",
      "docs": {
        "summary": "Generates C# extension methods from OpenAPI specifications. This uses the Microsoft.OpenApi library to parse OpenAPI documents and generate code https://github.com/microsoft/OpenAPI.NET. See the tests here https://github.com/microsoft/OpenAPI.NET/tree/main/test/Microsoft.OpenApi.Tests to see how the API works.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "RestClient.Net.OpenApiGenerator/OpenApiCodeGenerator.cs",
        "line": 9,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/OpenApiCodeGenerator.cs#L9"
      },
      "url": "/api/reference/restclient-net-openapigenerator-openapicodegenerator/",
      "members": [
        {
          "id": "M:RestClient.Net.OpenApiGenerator.OpenApiCodeGenerator.Generate(System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean)",
          "anchor": "generate-5adf4cb803eb",
          "name": "Generate",
          "kind": "method",
          "signature": "public static Outcome.Result\u003CGeneratorResult, string\u003E Generate(string openApiContent, string @namespace, string className, string outputPath, string? baseUrlOverride = null, string jsonNamingPolicy = \u0022camelCase\u0022, bool caseInsensitive = true);",
          "docs": {
            "summary": "Generates code from an OpenAPI document.",
            "remarks": "",
            "returns": "A Result containing either the generated code or an error message with exception details.",
            "parameters": [
              {
                "name": "openApiContent",
                "description": "The OpenAPI document content (JSON or YAML)."
              },
              {
                "name": "namespace",
                "description": "The namespace for generated code."
              },
              {
                "name": "className",
                "description": "The class name for extension methods."
              },
              {
                "name": "outputPath",
                "description": "The directory path where generated files will be saved."
              },
              {
                "name": "baseUrlOverride",
                "description": "Optional base URL override. Use this when the OpenAPI spec has a relative server URL."
              },
              {
                "name": "jsonNamingPolicy",
                "description": "JSON naming policy (camelCase, PascalCase, snake_case)."
              },
              {
                "name": "caseInsensitive",
                "description": "Enable case-insensitive JSON deserialization."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "openApiContent",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "namespace",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "className",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "outputPath",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "baseUrlOverride",
              "type": "string?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "jsonNamingPolicy",
              "type": "string",
              "modifiers": "",
              "default": "\u0022camelCase\u0022"
            },
            {
              "name": "caseInsensitive",
              "type": "bool",
              "modifiers": "",
              "default": "true"
            }
          ],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/OpenApiCodeGenerator.cs",
            "line": 21,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/OpenApiCodeGenerator.cs#L21"
          }
        }
      ]
    },
    {
      "id": "T:RestClient.Net.OpenApiGenerator.ParameterInfo",
      "name": "ParameterInfo",
      "displayName": "RestClient.Net.OpenApiGenerator.ParameterInfo",
      "namespace": "RestClient.Net.OpenApiGenerator",
      "project": "RestClient.Net.OpenApiGenerator",
      "kind": "struct",
      "signature": "public readonly record struct ParameterInfo(string Name, string Type, bool IsPath, bool IsHeader, string OriginalName, bool Required, string? DefaultValue)",
      "docs": {
        "summary": "Parameter information for OpenAPI operations.",
        "remarks": "",
        "returns": "",
        "parameters": [
          {
            "name": "Name",
            "description": "The parameter name."
          },
          {
            "name": "Type",
            "description": "The parameter type."
          },
          {
            "name": "IsPath",
            "description": "Whether the parameter is a path parameter."
          },
          {
            "name": "IsHeader",
            "description": "Whether the parameter is a header parameter."
          },
          {
            "name": "OriginalName",
            "description": "The original parameter name from the OpenAPI spec."
          },
          {
            "name": "Required",
            "description": "Whether the parameter is required."
          },
          {
            "name": "DefaultValue",
            "description": "The default value for the parameter."
          }
        ],
        "typeParameters": []
      },
      "parameters": [
        {
          "name": "Name",
          "type": "string",
          "modifiers": "",
          "default": null
        },
        {
          "name": "Type",
          "type": "string",
          "modifiers": "",
          "default": null
        },
        {
          "name": "IsPath",
          "type": "bool",
          "modifiers": "",
          "default": null
        },
        {
          "name": "IsHeader",
          "type": "bool",
          "modifiers": "",
          "default": null
        },
        {
          "name": "OriginalName",
          "type": "string",
          "modifiers": "",
          "default": null
        },
        {
          "name": "Required",
          "type": "bool",
          "modifiers": "",
          "default": null
        },
        {
          "name": "DefaultValue",
          "type": "string?",
          "modifiers": "",
          "default": null
        }
      ],
      "source": {
        "file": "RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs",
        "line": 11,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs#L11"
      },
      "url": "/api/reference/restclient-net-openapigenerator-parameterinfo/",
      "members": [
        {
          "id": "M:RestClient.Net.OpenApiGenerator.ParameterInfo.#ctor(System.String,System.String,System.Boolean,System.Boolean,System.String,System.Boolean,System.String)",
          "anchor": "ctor-f9374375559a",
          "name": ".ctor",
          "kind": "method",
          "signature": "public ParameterInfo(string Name, string Type, bool IsPath, bool IsHeader, string OriginalName, bool Required, string? DefaultValue);",
          "docs": {
            "summary": "Parameter information for OpenAPI operations.",
            "remarks": "",
            "returns": "",
            "parameters": [
              {
                "name": "Name",
                "description": "The parameter name."
              },
              {
                "name": "Type",
                "description": "The parameter type."
              },
              {
                "name": "IsPath",
                "description": "Whether the parameter is a path parameter."
              },
              {
                "name": "IsHeader",
                "description": "Whether the parameter is a header parameter."
              },
              {
                "name": "OriginalName",
                "description": "The original parameter name from the OpenAPI spec."
              },
              {
                "name": "Required",
                "description": "Whether the parameter is required."
              },
              {
                "name": "DefaultValue",
                "description": "The default value for the parameter."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "Name",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "Type",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "IsPath",
              "type": "bool",
              "modifiers": "",
              "default": null
            },
            {
              "name": "IsHeader",
              "type": "bool",
              "modifiers": "",
              "default": null
            },
            {
              "name": "OriginalName",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "Required",
              "type": "bool",
              "modifiers": "",
              "default": null
            },
            {
              "name": "DefaultValue",
              "type": "string?",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs",
            "line": 11,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs#L11"
          }
        },
        {
          "id": "P:RestClient.Net.OpenApiGenerator.ParameterInfo.DefaultValue",
          "anchor": "defaultvalue-545083609502",
          "name": "DefaultValue",
          "kind": "property",
          "signature": "public string? DefaultValue { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs",
            "line": 18,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs#L18"
          }
        },
        {
          "id": "P:RestClient.Net.OpenApiGenerator.ParameterInfo.IsHeader",
          "anchor": "isheader-1c1ea1fa44d7",
          "name": "IsHeader",
          "kind": "property",
          "signature": "public bool IsHeader { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs",
            "line": 15,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs#L15"
          }
        },
        {
          "id": "P:RestClient.Net.OpenApiGenerator.ParameterInfo.IsPath",
          "anchor": "ispath-86683bc6c203",
          "name": "IsPath",
          "kind": "property",
          "signature": "public bool IsPath { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs",
            "line": 14,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs#L14"
          }
        },
        {
          "id": "P:RestClient.Net.OpenApiGenerator.ParameterInfo.Name",
          "anchor": "name-59b79716d064",
          "name": "Name",
          "kind": "property",
          "signature": "public string Name { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs",
            "line": 12,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs#L12"
          }
        },
        {
          "id": "P:RestClient.Net.OpenApiGenerator.ParameterInfo.OriginalName",
          "anchor": "originalname-b6721b5acb53",
          "name": "OriginalName",
          "kind": "property",
          "signature": "public string OriginalName { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs",
            "line": 16,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs#L16"
          }
        },
        {
          "id": "P:RestClient.Net.OpenApiGenerator.ParameterInfo.Required",
          "anchor": "required-f7511a6db13a",
          "name": "Required",
          "kind": "property",
          "signature": "public bool Required { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs",
            "line": 17,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs#L17"
          }
        },
        {
          "id": "P:RestClient.Net.OpenApiGenerator.ParameterInfo.Type",
          "anchor": "type-70f52ed84366",
          "name": "Type",
          "kind": "property",
          "signature": "public string Type { get; init; }",
          "docs": {
            "summary": "",
            "remarks": "",
            "returns": "",
            "parameters": [],
            "typeParameters": []
          },
          "parameters": [],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs",
            "line": 13,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/ExtensionMethodGenerator.cs#L13"
          }
        }
      ]
    },
    {
      "id": "T:RestClient.Net.OpenApiGenerator.UrlParser",
      "name": "UrlParser",
      "displayName": "RestClient.Net.OpenApiGenerator.UrlParser",
      "namespace": "RestClient.Net.OpenApiGenerator",
      "project": "RestClient.Net.OpenApiGenerator",
      "kind": "class",
      "signature": "public static partial class UrlParser",
      "docs": {
        "summary": "Parses base URLs and paths from OpenAPI documents.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "RestClient.Net.OpenApiGenerator/UrlParser.cs",
        "line": 7,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/UrlParser.cs#L7"
      },
      "url": "/api/reference/restclient-net-openapigenerator-urlparser/",
      "members": [
        {
          "id": "M:RestClient.Net.OpenApiGenerator.UrlParser.GetBaseUrlAndPath(Microsoft.OpenApi.OpenApiDocument,System.String)",
          "anchor": "getbaseurlandpath-3a5cb7c1843a",
          "name": "GetBaseUrlAndPath",
          "kind": "method",
          "signature": "public static Result\u003C(string BaseUrl, string BasePath), string\u003E GetBaseUrlAndPath(OpenApiDocument document, string? baseUrlOverride);",
          "docs": {
            "summary": "Gets the base URL and path from an OpenAPI document.",
            "remarks": "",
            "returns": "A result containing the base URL and path, or an error message.",
            "parameters": [
              {
                "name": "document",
                "description": "The OpenAPI document."
              },
              {
                "name": "baseUrlOverride",
                "description": "Optional base URL override."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "document",
              "type": "OpenApiDocument",
              "modifiers": "",
              "default": null
            },
            {
              "name": "baseUrlOverride",
              "type": "string?",
              "modifiers": "",
              "default": null
            }
          ],
          "source": {
            "file": "RestClient.Net.OpenApiGenerator/UrlParser.cs",
            "line": 16,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net.OpenApiGenerator/UrlParser.cs#L16"
          }
        }
      ]
    },
    {
      "id": "T:RestClient.Net.OptionsAsync\u00603",
      "name": "OptionsAsync",
      "displayName": "RestClient.Net.OptionsAsync\u003CTSuccess, TError, TParam\u003E",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "delegate",
      "signature": "public delegate Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E OptionsAsync\u003CTSuccess, TError, TParam\u003E(HttpClient httpClient, TParam parameters, CancellationToken cancellationToken = default);",
      "docs": {
        "summary": "Delegate for executing OPTIONS requests that return a Result with typed success and error responses.",
        "remarks": "",
        "returns": "A Result containing either the success response or an HttpError with the error response.",
        "parameters": [
          {
            "name": "httpClient",
            "description": "The HttpClient to use for the request."
          },
          {
            "name": "parameters",
            "description": "The parameters used to construct the request URL."
          },
          {
            "name": "cancellationToken",
            "description": "Cancellation token to cancel the request."
          }
        ],
        "typeParameters": [
          {
            "name": "TSuccess",
            "description": "The type of the success response body."
          },
          {
            "name": "TError",
            "description": "The type of the error response body."
          },
          {
            "name": "TParam",
            "description": "The type of the parameter used to construct the request URL."
          }
        ]
      },
      "parameters": [
        {
          "name": "httpClient",
          "type": "HttpClient",
          "modifiers": "",
          "default": null
        },
        {
          "name": "parameters",
          "type": "TParam",
          "modifiers": "",
          "default": null
        },
        {
          "name": "cancellationToken",
          "type": "CancellationToken",
          "modifiers": "",
          "default": "default"
        }
      ],
      "source": {
        "file": "RestClient.Net/Delegates.cs",
        "line": 176,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L176"
      },
      "url": "/api/reference/restclient-net-optionsasync-3/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.PatchAsync\u00603",
      "name": "PatchAsync",
      "displayName": "RestClient.Net.PatchAsync\u003CTSuccess, TError, TRequest\u003E",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "delegate",
      "signature": "public delegate Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E PatchAsync\u003CTSuccess, TError, TRequest\u003E(HttpClient httpClient, TRequest requestBody, CancellationToken cancellationToken = default);",
      "docs": {
        "summary": "Delegate for executing PATCH requests that return a Result with typed success and error responses.",
        "remarks": "",
        "returns": "A Result containing either the success response or an HttpError with the error response.",
        "parameters": [
          {
            "name": "httpClient",
            "description": "The HttpClient to use for the request."
          },
          {
            "name": "requestBody",
            "description": "The request body content."
          },
          {
            "name": "cancellationToken",
            "description": "Cancellation token to cancel the request."
          }
        ],
        "typeParameters": [
          {
            "name": "TSuccess",
            "description": "The type of the success response body."
          },
          {
            "name": "TError",
            "description": "The type of the error response body."
          },
          {
            "name": "TRequest",
            "description": "The type of the request body."
          }
        ]
      },
      "parameters": [
        {
          "name": "httpClient",
          "type": "HttpClient",
          "modifiers": "",
          "default": null
        },
        {
          "name": "requestBody",
          "type": "TRequest",
          "modifiers": "",
          "default": null
        },
        {
          "name": "cancellationToken",
          "type": "CancellationToken",
          "modifiers": "",
          "default": "default"
        }
      ],
      "source": {
        "file": "RestClient.Net/Delegates.cs",
        "line": 140,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L140"
      },
      "url": "/api/reference/restclient-net-patchasync-3/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.Pollyfill",
      "name": "Pollyfill",
      "displayName": "RestClient.Net.Pollyfill",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "class",
      "signature": "public static class Pollyfill",
      "docs": {
        "summary": "Polyfill extensions for .NET Standard 2.1 compatibility.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "RestClient.Net/Pollyfill.cs",
        "line": 8,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Pollyfill.cs#L8"
      },
      "url": "/api/reference/restclient-net-pollyfill/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.PostAsync\u00603",
      "name": "PostAsync",
      "displayName": "RestClient.Net.PostAsync\u003CTSuccess, TError, TRequest\u003E",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "delegate",
      "signature": "public delegate Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E PostAsync\u003CTSuccess, TError, TRequest\u003E(HttpClient httpClient, TRequest requestBody, CancellationToken cancellationToken = default);",
      "docs": {
        "summary": "Delegate for executing POST requests that return a Result with typed success and error responses.",
        "remarks": "",
        "returns": "A Result containing either the success response or an HttpError with the error response.",
        "parameters": [
          {
            "name": "httpClient",
            "description": "The HttpClient to use for the request."
          },
          {
            "name": "requestBody",
            "description": "The request body content."
          },
          {
            "name": "cancellationToken",
            "description": "Cancellation token to cancel the request."
          }
        ],
        "typeParameters": [
          {
            "name": "TSuccess",
            "description": "The type of the success response body."
          },
          {
            "name": "TError",
            "description": "The type of the error response body."
          },
          {
            "name": "TRequest",
            "description": "The type of the request body."
          }
        ]
      },
      "parameters": [
        {
          "name": "httpClient",
          "type": "HttpClient",
          "modifiers": "",
          "default": null
        },
        {
          "name": "requestBody",
          "type": "TRequest",
          "modifiers": "",
          "default": null
        },
        {
          "name": "cancellationToken",
          "type": "CancellationToken",
          "modifiers": "",
          "default": "default"
        }
      ],
      "source": {
        "file": "RestClient.Net/Delegates.cs",
        "line": 86,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L86"
      },
      "url": "/api/reference/restclient-net-postasync-3/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.PutAsync\u00603",
      "name": "PutAsync",
      "displayName": "RestClient.Net.PutAsync\u003CTSuccess, TError, TRequest\u003E",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "delegate",
      "signature": "public delegate Task\u003CResult\u003CTSuccess, HttpError\u003CTError\u003E\u003E\u003E PutAsync\u003CTSuccess, TError, TRequest\u003E(HttpClient httpClient, TRequest requestBody, CancellationToken cancellationToken = default);",
      "docs": {
        "summary": "Delegate for executing PUT requests that return a Result with typed success and error responses.",
        "remarks": "",
        "returns": "A Result containing either the success response or an HttpError with the error response.",
        "parameters": [
          {
            "name": "httpClient",
            "description": "The HttpClient to use for the request."
          },
          {
            "name": "requestBody",
            "description": "The request body content."
          },
          {
            "name": "cancellationToken",
            "description": "Cancellation token to cancel the request."
          }
        ],
        "typeParameters": [
          {
            "name": "TSuccess",
            "description": "The type of the success response body."
          },
          {
            "name": "TError",
            "description": "The type of the error response body."
          },
          {
            "name": "TRequest",
            "description": "The type of the request body."
          }
        ]
      },
      "parameters": [
        {
          "name": "httpClient",
          "type": "HttpClient",
          "modifiers": "",
          "default": null
        },
        {
          "name": "requestBody",
          "type": "TRequest",
          "modifiers": "",
          "default": null
        },
        {
          "name": "cancellationToken",
          "type": "CancellationToken",
          "modifiers": "",
          "default": "default"
        }
      ],
      "source": {
        "file": "RestClient.Net/Delegates.cs",
        "line": 104,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L104"
      },
      "url": "/api/reference/restclient-net-putasync-3/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.Serialize\u00601",
      "name": "Serialize",
      "displayName": "RestClient.Net.Serialize\u003CT\u003E",
      "namespace": "RestClient.Net",
      "project": "RestClient.Net",
      "kind": "delegate",
      "signature": "public delegate Task\u003CHttpContent\u003E Serialize\u003CT\u003E(T body, CancellationToken cancellationToken);",
      "docs": {
        "summary": "Represents an asynchronous function that serializes a typed object into HTTP content.",
        "remarks": "",
        "returns": "A task that represents the asynchronous serialization operation, containing the serialized HTTP content.",
        "parameters": [
          {
            "name": "body",
            "description": "The object to serialize."
          },
          {
            "name": "cancellationToken",
            "description": "A token to cancel the serialization operation."
          }
        ],
        "typeParameters": [
          {
            "name": "T",
            "description": "The type of the object to serialize."
          }
        ]
      },
      "parameters": [
        {
          "name": "body",
          "type": "T",
          "modifiers": "",
          "default": null
        },
        {
          "name": "cancellationToken",
          "type": "CancellationToken",
          "modifiers": "",
          "default": null
        }
      ],
      "source": {
        "file": "RestClient.Net/Delegates.cs",
        "line": 45,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Delegates.cs#L45"
      },
      "url": "/api/reference/restclient-net-serialize-1/",
      "members": []
    },
    {
      "id": "T:RestClient.Net.Utilities.ProgressReportingHttpContent",
      "name": "ProgressReportingHttpContent",
      "displayName": "RestClient.Net.Utilities.ProgressReportingHttpContent",
      "namespace": "RestClient.Net.Utilities",
      "project": "RestClient.Net",
      "kind": "class",
      "signature": "public class ProgressReportingHttpContent : HttpContent",
      "docs": {
        "summary": "Represents an HTTP content type that reports progress during upload and download operations.",
        "remarks": "",
        "returns": "",
        "parameters": [],
        "typeParameters": []
      },
      "parameters": [],
      "source": {
        "file": "RestClient.Net/Utilities/ProgressReportingHttpContent.cs",
        "line": 9,
        "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Utilities/ProgressReportingHttpContent.cs#L9"
      },
      "url": "/api/reference/restclient-net-utilities-progressreportinghttpcontent/",
      "members": [
        {
          "id": "M:RestClient.Net.Utilities.ProgressReportingHttpContent.#ctor(System.Byte[],System.Int32,System.Action{System.Int64,System.Int64},System.String)",
          "anchor": "ctor-b26eb64c545c",
          "name": ".ctor",
          "kind": "method",
          "signature": "public ProgressReportingHttpContent(byte[] data, int bufferSize = DefaultBufferSize, Action\u003Clong, long\u003E? progress = null, string contentType = \u0022application/octet-stream\u0022);",
          "docs": {
            "summary": "Initializes a new instance of the \u0060ProgressReportingHttpContent\u0060 class using a byte array as content.",
            "remarks": "",
            "returns": "",
            "parameters": [
              {
                "name": "data",
                "description": "The byte array containing the content to be sent."
              },
              {
                "name": "bufferSize",
                "description": "The size of the buffer used for reading the content. Default is 8192 bytes."
              },
              {
                "name": "progress",
                "description": "Optional callback to report progress during transfer. Receives current bytes and total bytes."
              },
              {
                "name": "contentType",
                "description": "The MIME type of the content. Defaults to \u0022application/octet-stream\u0022."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "data",
              "type": "byte[]",
              "modifiers": "",
              "default": null
            },
            {
              "name": "bufferSize",
              "type": "int",
              "modifiers": "",
              "default": "DefaultBufferSize"
            },
            {
              "name": "progress",
              "type": "Action\u003Clong, long\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "contentType",
              "type": "string",
              "modifiers": "",
              "default": "\u0022application/octet-stream\u0022"
            }
          ],
          "source": {
            "file": "RestClient.Net/Utilities/ProgressReportingHttpContent.cs",
            "line": 45,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Utilities/ProgressReportingHttpContent.cs#L45"
          }
        },
        {
          "id": "M:RestClient.Net.Utilities.ProgressReportingHttpContent.#ctor(System.IO.Stream,System.Int32,System.String,System.Action{System.Int64,System.Int64})",
          "anchor": "ctor-979c2fd3a2ea",
          "name": ".ctor",
          "kind": "method",
          "signature": "public ProgressReportingHttpContent(Stream content, int bufferSize = DefaultBufferSize, string contentType = \u0022application/octet-stream\u0022, Action\u003Clong, long\u003E? progress = null);",
          "docs": {
            "summary": "Initializes a new instance of the \u0060ProgressReportingHttpContent\u0060 class using a stream as content.",
            "remarks": "",
            "returns": "",
            "parameters": [
              {
                "name": "content",
                "description": "The stream containing the content to be sent."
              },
              {
                "name": "bufferSize",
                "description": "The size of the buffer used for reading the content. Default is 8192 bytes."
              },
              {
                "name": "contentType",
                "description": "The MIME type of the content. Defaults to \u0022application/octet-stream\u0022."
              },
              {
                "name": "progress",
                "description": "Optional callback to report progress during transfer. Receives current bytes and total bytes."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "content",
              "type": "Stream",
              "modifiers": "",
              "default": null
            },
            {
              "name": "bufferSize",
              "type": "int",
              "modifiers": "",
              "default": "DefaultBufferSize"
            },
            {
              "name": "contentType",
              "type": "string",
              "modifiers": "",
              "default": "\u0022application/octet-stream\u0022"
            },
            {
              "name": "progress",
              "type": "Action\u003Clong, long\u003E?",
              "modifiers": "",
              "default": "null"
            }
          ],
          "source": {
            "file": "RestClient.Net/Utilities/ProgressReportingHttpContent.cs",
            "line": 65,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Utilities/ProgressReportingHttpContent.cs#L65"
          }
        },
        {
          "id": "M:RestClient.Net.Utilities.ProgressReportingHttpContent.#ctor(System.String,System.Int32,System.Action{System.Int64,System.Int64},System.String)",
          "anchor": "ctor-942bfb34f09f",
          "name": ".ctor",
          "kind": "method",
          "signature": "public ProgressReportingHttpContent(string data, int bufferSize = DefaultBufferSize, Action\u003Clong, long\u003E? progress = null, string contentType = \u0022application/octet-stream\u0022);",
          "docs": {
            "summary": "Initializes a new instance of the \u0060ProgressReportingHttpContent\u0060 class using a string as content.",
            "remarks": "",
            "returns": "",
            "parameters": [
              {
                "name": "data",
                "description": "The string data to be sent, which will be converted to bytes using UTF8 encoding."
              },
              {
                "name": "bufferSize",
                "description": "The size of the buffer used for reading the content. Default is 8192 bytes."
              },
              {
                "name": "progress",
                "description": "Optional callback to report progress during transfer. Receives current bytes and total bytes."
              },
              {
                "name": "contentType",
                "description": "The MIME type of the content. Defaults to \u0022application/octet-stream\u0022."
              }
            ],
            "typeParameters": []
          },
          "parameters": [
            {
              "name": "data",
              "type": "string",
              "modifiers": "",
              "default": null
            },
            {
              "name": "bufferSize",
              "type": "int",
              "modifiers": "",
              "default": "DefaultBufferSize"
            },
            {
              "name": "progress",
              "type": "Action\u003Clong, long\u003E?",
              "modifiers": "",
              "default": "null"
            },
            {
              "name": "contentType",
              "type": "string",
              "modifiers": "",
              "default": "\u0022application/octet-stream\u0022"
            }
          ],
          "source": {
            "file": "RestClient.Net/Utilities/ProgressReportingHttpContent.cs",
            "line": 25,
            "url": "https://github.com/MelbourneDeveloper/RestClient.Net/blob/main/RestClient.Net/Utilities/ProgressReportingHttpContent.cs#L25"
          }
        }
      ]
    }
  ]
}
