Skip to content

Instantly share code, notes, and snippets.

@fnicollier
Created January 20, 2022 07:17
Show Gist options
  • Save fnicollier/c7bd2daacace1828d3e9b0de54b328fe to your computer and use it in GitHub Desktop.
Save fnicollier/c7bd2daacace1828d3e9b0de54b328fe to your computer and use it in GitHub Desktop.
public sealed class Output
{
/// <summary>
/// The HTTP status.
/// </summary>
public int? HttpStatus { get; set; } = (int) HttpStatusCode.OK;
/// <summary>
/// The response.
/// </summary>
public object? Response { get; set; }
/// <summary>
/// Get the serialized response.
/// </summary>
public string GetResponse() => JsonConvert.SerializeObject(Response);
/// <summary>
/// Creates an OK response.
/// </summary>
/// <param name="response">The response content.</param>
public Output Ok(object response)
{
HttpStatus = (int) HttpStatusCode.OK;
Response = response;
return this;
}
/// <summary>
/// Creates a bad request response.
/// </summary>
/// <param name="response">The response content.</param>
public Output BadRequest(object response)
{
HttpStatus = (int)HttpStatusCode.BadRequest;
Response = response;
return this;
}
/// <summary>
/// Creates a not found response.
/// </summary>
/// <param name="response">The response content.</param>
public Output NotFound(object response)
{
HttpStatus = (int)HttpStatusCode.NotFound;
Response = response;
return this;
}
/// <summary>
/// Creates a no content.
/// </summary>
public Output NoContent()
{
HttpStatus = (int)HttpStatusCode.NoContent;
return this;
}
/// <summary>
/// Creates an internal error response.
/// </summary>
/// <param name="response">The response content.</param>
public Output InternalError(object response)
{
HttpStatus = (int)HttpStatusCode.InternalServerError;
Response = response;
return this;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment