#### [Abblix\.Oidc\.Server\.Mvc](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc 'index')
### [Abblix\.Oidc\.Server\.Mvc\.Formatters](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.Formatters 'Abblix\.Oidc\.Server\.Mvc\.Formatters')

## ReadClientResponseFormatter Class

Provides a response formatter for reading client responses\.

```csharp
public class ReadClientResponseFormatter : Abblix.Oidc.Server.Mvc.Formatters.Interfaces.IReadClientResponseFormatter
```

Inheritance [System\.Object](https://learn.microsoft.com/en-us/dotnet/api/system.object 'System\.Object') → ReadClientResponseFormatter

Implements [IReadClientResponseFormatter](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.Formatters.Interfaces.IReadClientResponseFormatter 'Abblix\.Oidc\.Server\.Mvc\.Formatters\.Interfaces\.IReadClientResponseFormatter')
### Constructors

## ReadClientResponseFormatter\(IUriResolver\) Constructor {#Abblix.Oidc.Server.Mvc.Formatters.ReadClientResponseFormatter.ReadClientResponseFormatter(Abblix.Oidc.Server.Mvc.IUriResolver)}

Provides a response formatter for reading client responses\.

```csharp
public ReadClientResponseFormatter(Abblix.Oidc.Server.Mvc.IUriResolver uriResolver);
```
#### Parameters

###### `uriResolver` [IUriResolver](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.IUriResolver 'Abblix\.Oidc\.Server\.Mvc\.IUriResolver') {#Abblix.Oidc.Server.Mvc.Formatters.ReadClientResponseFormatter.ReadClientResponseFormatter(Abblix.Oidc.Server.Mvc.IUriResolver).uriResolver}

The URI resolver for generating client management URLs\.
### Methods

## ReadClientResponseFormatter\.FormatResponseAsync\(ClientRequest, Result\<ReadClientSuccessfulResponse,OidcError\>\) Method {#Abblix.Oidc.Server.Mvc.Formatters.ReadClientResponseFormatter.FormatResponseAsync(Abblix.Oidc.Server.Model.ClientRequest,Abblix.Utils.Result_Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse,Abblix.Oidc.Server.Common.OidcError_)}

Formats a response for reading a client asynchronously\.

```csharp
public System.Threading.Tasks.Task<Microsoft.AspNetCore.Mvc.ActionResult> FormatResponseAsync(Abblix.Oidc.Server.Model.ClientRequest request, Abblix.Utils.Result<Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse,Abblix.Oidc.Server.Common.OidcError> response);
```
#### Parameters

###### `request` [ClientRequest](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.ClientRequest 'Abblix\.Oidc\.Server\.Model\.ClientRequest') {#Abblix.Oidc.Server.Mvc.Formatters.ReadClientResponseFormatter.FormatResponseAsync(Abblix.Oidc.Server.Model.ClientRequest,Abblix.Utils.Result_Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse,Abblix.Oidc.Server.Common.OidcError_).request}

The client request\.

###### `response` [Abblix\.Utils\.Result&lt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\`2')[ReadClientSuccessfulResponse](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse 'Abblix\.Oidc\.Server\.Model\.ReadClientSuccessfulResponse')[,](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\`2')[OidcError](https://www.abblix.com/en/docs/api/abblix-oidc-server/Abblix.Oidc.Server.Common.OidcError 'Abblix\.Oidc\.Server\.Common\.OidcError')[&gt;](https://www.abblix.com/en/docs/api/abblix-utils/Abblix.Utils.Result_TSuccess_TFailure_ 'Abblix\.Utils\.Result\`2') {#Abblix.Oidc.Server.Mvc.Formatters.ReadClientResponseFormatter.FormatResponseAsync(Abblix.Oidc.Server.Model.ClientRequest,Abblix.Utils.Result_Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse,Abblix.Oidc.Server.Common.OidcError_).response}

The client response model\.

Implements [FormatResponseAsync\(ClientRequest, Result&lt;ReadClientSuccessfulResponse,OidcError&gt;\)](https://www.abblix.com/en/docs/api/abblix-oidc-server-mvc/Abblix.Oidc.Server.Mvc.Formatters.Interfaces.IReadClientResponseFormatter#Abblix.Oidc.Server.Mvc.Formatters.Interfaces.IReadClientResponseFormatter.FormatResponseAsync(Abblix.Oidc.Server.Model.ClientRequest,Abblix.Utils.Result_Abblix.Oidc.Server.Model.ReadClientSuccessfulResponse,Abblix.Oidc.Server.Common.OidcError_) 'Abblix\.Oidc\.Server\.Mvc\.Formatters\.Interfaces\.IReadClientResponseFormatter\.FormatResponseAsync\(Abblix\.Oidc\.Server\.Model\.ClientRequest, Abblix\.Utils\.Result\<Abblix\.Oidc\.Server\.Model\.ReadClientSuccessfulResponse,Abblix\.Oidc\.Server\.Common\.OidcError\>\)')

#### Returns
[System\.Threading\.Tasks\.Task&lt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')[Microsoft\.AspNetCore\.Mvc\.ActionResult](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.actionresult 'Microsoft\.AspNetCore\.Mvc\.ActionResult')[&gt;](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task-1 'System\.Threading\.Tasks\.Task\`1')  
A [System\.Threading\.Tasks\.Task](https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.task 'System\.Threading\.Tasks\.Task') representing the asynchronous operation, with the formatted response as an [Microsoft\.AspNetCore\.Mvc\.ActionResult](https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.actionresult 'Microsoft\.AspNetCore\.Mvc\.ActionResult')\.

### Remarks
This method is used to format the response for reading a client\.
Depending on the response type, it creates different types of ActionResult to be returned to the client\.
