Table of Contents

Class DefaultHttpResponseFormatter

Namespace
HotChocolate.AspNetCore.Serialization
Assembly
HotChocolate.AspNetCore.dll

This represents the default implementation for the IHttpResponseFormatter that abides by the GraphQL over HTTP specification. https://github.com/graphql/graphql-over-http/blob/main/spec/GraphQLOverHTTP.md

public class DefaultHttpResponseFormatter : IHttpResponseFormatter
Inheritance
DefaultHttpResponseFormatter
Implements
Inherited Members

Constructors

DefaultHttpResponseFormatter(HttpResponseFormatterOptions)

Creates a new instance of DefaultHttpResponseFormatter.

public DefaultHttpResponseFormatter(HttpResponseFormatterOptions options)

Parameters

options HttpResponseFormatterOptions

The JSON result formatter options

DefaultHttpResponseFormatter(bool, JavaScriptEncoder?)

Creates a new instance of DefaultHttpResponseFormatter.

public DefaultHttpResponseFormatter(bool indented = false, JavaScriptEncoder? encoder = null)

Parameters

indented bool

Defines whether the underlying Utf8JsonWriter should pretty print the JSON which includes: indenting nested JSON tokens, adding new lines, and adding white space between property names and values. By default, the JSON is written without extra white spaces.

encoder JavaScriptEncoder

Gets or sets the encoder to use when escaping strings, or null to use the default encoder.

Methods

CreateRequestFlags(AcceptMediaType)

protected virtual GraphQLRequestFlags CreateRequestFlags(AcceptMediaType acceptMediaType)

Parameters

acceptMediaType AcceptMediaType

Returns

GraphQLRequestFlags

CreateRequestFlags(AcceptMediaType[])

public GraphQLRequestFlags CreateRequestFlags(AcceptMediaType[] acceptMediaTypes)

Parameters

acceptMediaTypes AcceptMediaType[]

Returns

GraphQLRequestFlags

FormatAsync(HttpResponse, IExecutionResult, AcceptMediaType[], HttpStatusCode?, CancellationToken)

public ValueTask FormatAsync(HttpResponse response, IExecutionResult result, AcceptMediaType[] acceptMediaTypes, HttpStatusCode? proposedStatusCode, CancellationToken cancellationToken)

Parameters

response HttpResponse
result IExecutionResult
acceptMediaTypes AcceptMediaType[]
proposedStatusCode HttpStatusCode?
cancellationToken CancellationToken

Returns

ValueTask

OnDetermineStatusCode(IQueryResult, FormatInfo, HttpStatusCode?)

Determines which status code shall be returned for this result.

protected virtual HttpStatusCode OnDetermineStatusCode(IQueryResult result, DefaultHttpResponseFormatter.FormatInfo format, HttpStatusCode? proposedStatusCode)

Parameters

result IQueryResult

The HotChocolate.Execution.IQueryResult.

format DefaultHttpResponseFormatter.FormatInfo

Provides information about the transport format that is applied.

proposedStatusCode HttpStatusCode?

The proposed status code of the middleware.

Returns

HttpStatusCode

Returns the HttpStatusCode that the formatter must use.

OnDetermineStatusCode(IResponseStream, FormatInfo, HttpStatusCode?)

Determines which status code shall be returned for this response stream.

protected virtual HttpStatusCode OnDetermineStatusCode(IResponseStream responseStream, DefaultHttpResponseFormatter.FormatInfo format, HttpStatusCode? proposedStatusCode)

Parameters

responseStream IResponseStream

The HotChocolate.Execution.IResponseStream.

format DefaultHttpResponseFormatter.FormatInfo

Provides information about the transport format that is applied.

proposedStatusCode HttpStatusCode?

The proposed status code of the middleware.

Returns

HttpStatusCode

Returns the HttpStatusCode that the formatter must use.

OnWriteResponseHeaders(IQueryResult, FormatInfo, IHeaderDictionary)

Override to write response headers to the response message before the the formatter starts writing the response body.

protected virtual void OnWriteResponseHeaders(IQueryResult result, DefaultHttpResponseFormatter.FormatInfo format, IHeaderDictionary headers)

Parameters

result IQueryResult

The HotChocolate.Execution.IQueryResult.

format DefaultHttpResponseFormatter.FormatInfo

Provides information about the transport format that is applied.

headers IHeaderDictionary

The header dictionary.

OnWriteResponseHeaders(IResponseStream, FormatInfo, IHeaderDictionary)

Override to write response headers to the response message before the the formatter starts writing the response body.

protected virtual void OnWriteResponseHeaders(IResponseStream responseStream, DefaultHttpResponseFormatter.FormatInfo format, IHeaderDictionary headers)

Parameters

responseStream IResponseStream

The HotChocolate.Execution.IResponseStream.

format DefaultHttpResponseFormatter.FormatInfo

Provides information about the transport format that is applied.

headers IHeaderDictionary

The header dictionary.