UNPKG

http-handler-response

Version:
3 lines (2 loc) 3.23 kB
const e=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},{100:"100 - Continue",101:"101 - Switching Protocols",102:"102 - Processing"}),{200:"200 - OK",201:"201 - Created",202:"202 - Accepted",203:"203 - Non-authoritative Information",204:"204 - No Content",205:"205 - Reset Content",206:"206 - Partial Content",207:"207 - Multi-Status",208:"208 - Already Reported",209:"209 - IM Used"}),{300:"300 - Multiple Choices",301:"301 - Moved Permanently",302:"302 - Found",303:"303 - See Other",304:"304 - Not Modified",305:"305 - Use Proxy",307:"307 - Temporary Redirect",308:"308 - Permanent Redirect"}),{400:"400 - Bad Request",401:"401 - Unauthorized",402:"402 - Payment Required",403:"403 - Forbidden",404:"404 - Not Found",405:"405 - Method Not Allowed",406:"406 - Not Acceptable",407:"407 - Proxy Authentication Required",408:"408 - Request Timeout",409:"409 - Conflict",410:"410 - Gone",411:"411 - Length Required",412:"412 - Precondition Failed",413:"413 - Payload Too Large",414:"414 - Request-URI Too Long",415:"415 - Unsupported Media Type",416:"416 - Requested Range Not Satisfiable",417:"417 - Expectation Failed",418:"418 - I'm a teapot",421:"421 - Misdirected Request",422:"422 - Unprocessable Entity",423:"423 - Locked",424:"424 - Failed Dependency",426:"426 - Upgrade Required",428:"428 - Precondition Required",429:"429 - Too Many Requests",431:"431 - Request Header Fields Too Large",444:"444 - Connection Closed Without Response",451:"451 - Unavailable For Legal Reasons",499:"499 - Client Closed Request"}),{500:"500 - Internal Server Error",501:"501 - Not Implemented",502:"502 - Bad Gateway",503:"503 - Service Unavailable",504:"504 - Gateway Timeout",505:"505 - HTTP Version Not Supported",506:"506 - Variant Also Negotiates",507:"507 - Insufficient Storage",508:"508 - Loop Detected",510:"510 - Not Extended",511:"511 - Network Authentication Required",599:"599 - Network Connect Timeout Error"}),t=({code:t,title:s})=>{let o={title:"",status:0};return Object.entries(e).forEach((([e,n])=>{Number(e)!==t&&t!==n||(o={status:Number(e),title:null!=s?s:n.split(" - ")[1]})})),o},s=({response:e,json:t})=>{try{const s=(e=>({status:{exist:e.status,isFunc:"function"==typeof e.status},json:{exist:e.status&&e.json,isFunc:"function"==typeof e.json},body:{exist:e.status&&e.body,isFunc:"function"==typeof e.body},send:{exist:e.status&&e.send,isFunc:"function"==typeof e.send},app:{exist:e.app}}))(e);return s.status.exist&&(s.status.isFunc?e.status(t.status):e.status=t.status),s.json.exist?s.json.isFunc?e.json(t):e.json=t:s.app.exist?(e.type="json",s.body.isFunc?e.body(t):e.body=t):s.send.isFunc?e.send(t):e.send=t,e}catch(e){throw new Error("The informed Response instance is not a valid model.")}},o=({code:e,title:s,type:o="about:blank",detail:n,instance:i})=>{throw Object.assign(t({code:e,title:s}),{type:o,detail:n,instance:i})},n=(e,{code:o,message:n,data:i,title:a})=>s({response:e,json:Object.assign(t({code:o,title:a}),{data:i,message:n})}),i=(e,t)=>s({response:e,json:t.status?t:{status:500,title:"Internal Server Error",detail:"There was an internal problem on the server."}});export{o as createException,n as createResponse,i as handlerError}; //# sourceMappingURL=index.es.js.map