Show / Hide Table of Contents

Class RequestDependentResultWriter<TModel, TUser>

A result writer that chooses how to format the result based on the request

Inheritance
Object
RequestDependentResultWriter<TModel, TUser>
AcceptDependentResultWriter<TModel, TUser>
HeaderDependentResultWriter<TModel, TUser>
QueryDependentResultWriter<TModel, TUser>
Implements
IResultWriter<TModel, TUser>
Namespace: Seltzr.Results
Assembly: Seltzr.dll
Syntax
C#
public abstract class RequestDependentResultWriter<TModel, TUser> : IResultWriter<TModel, TUser> where TModel : class where TUser : class
Type Parameters
TModel

The type of model to format

TUser

The type of user context

Remarks

Though perhaps this class is a little confusing at first, it helps to know that this class forms the basis for the QueryDependentResultWriter<TModel, TUser>, HeaderDependentResultWriter<TModel, TUser>, and like classes.

Constructors

| Improve this Doc View Source

RequestDependentResultWriter(String[], IResultWriter<TModel, TUser>[], Int32, Boolean)

Initializes a new instance of the RequestDependentResultWriter<TModel, TUser> class.

C#
protected RequestDependentResultWriter(string[] values, IResultWriter<TModel, TUser>[] writers, int defaultIndex = -1, bool caseSensitive = false)
Parameters
valuesString[]

The values of the request property that should determine which result writer to use

writersIResultWriter<TModel, TUser>[]

The result writers to use, indexed in the same order as values

defaultIndexInt32

The index of the default result writer to use, or -1 if an error should be thrown if no values match

caseSensitiveBoolean

true if the parameter values are case sensitive, false otherwise

Methods

| Improve this Doc View Source

CanWriteAsync(HttpRequest)

Gets whether or not this IResultWriter<TModel, TUser> can write a result for the given request

C#
public virtual Task<bool> CanWriteAsync(HttpRequest request)
Parameters
requestHttpRequest

The request to test if a result can be written for it

Returns

Task<Boolean>

true if a result can be written for request, false otherwise

| Improve this Doc View Source

GetRequestParameterValue(HttpRequest)

Gets the value of the request parameter this RequestDependentResultWriter<TModel, TUser> switches on

C#
protected abstract string GetRequestParameterValue(HttpRequest request)
Parameters
requestHttpRequest

The request context to use to get the parameter value

Returns

String

The value of the request parameter to switch on

| Improve this Doc View Source

WriteResultAsync(IApiContext<TModel, TUser>, IEnumerable<TModel>, FormattingOptions)

Formats the API result

C#
public virtual Task WriteResultAsync(IApiContext<TModel, TUser> context, IEnumerable<TModel> data, FormattingOptions options)
Parameters
contextIApiContext<TModel, TUser>

The current API context

dataIEnumerable<TModel>

The dataset to format

optionsFormattingOptions

Options for formatting the result

Returns

Task

When the result has been sent

Implements

IResultWriter<TModel, TUser>
  • Improve this Doc
  • View Source
Back to top Generated by DocFX