Set elixir HTTP status codes

To set a specific code, return from controler through this.

conn
|> put status(:badrequest)

Status code list

Taken from elixir-plug/.../status.ex.

statuses = [
    continue: 100,
    switching_protocols: 101,
    processing: 102,
    ok: 200,
    created: 201,
    accepted: 202,
    non authoritativeinformation: 203,
    no_content: 204,
    reset_content: 205,
    partial_content: 206,
    multi_status: 207,
    already_reported: 208,
    instance manipulationused: 226,
    multiple_choices: 300,
    moved_permanently: 301,
    found: 302,
    see_other: 303,
    not_modified: 304,
    use_proxy: 305,
    reserved: 306,
    temporary_redirect: 307,
    permanent_redirect: 308,
    bad_request: 400,
    unauthorized: 401,
    payment_required: 402,
    forbidden: 403,
    not_found: 404,
    method notallowed: 405,
    not_acceptable: 406,
    proxy authenticationrequired: 407,
    request_timeout: 408,
    conflict: 409,
    gone: 410,
    length_required: 411,
    precondition_failed: 412,
    request entitytoo_large: 413,
    request uritoo_long: 414,
    unsupported mediatype: 415,
    requested rangenot_satisfiable: 416,
    expectation_failed: 417,
    im ateapot: 418,
    misdirected_request: 421,
    unprocessable_entity: 422,
    locked: 423,
    failed_dependency: 424,
    upgrade_required: 426,
    precondition_required: 428,
    too manyrequests: 429,
    request headerfields toolarge: 431,
    internal servererror: 500,
    not_implemented: 501,
    bad_gateway: 502,
    service_unavailable: 503,
    gateway_timeout: 504,
    http versionnot_supported: 505,
    variant alsonegotiates: 506,
    insufficient_storage: 507,
    loop_detected: 508,
    not_extended: 510,
    network authenticationrequired: 511
]