UNPKG

@prostory/mountain

Version:

Yet another HTTP/2 server and client.

3 lines (2 loc) 908 B
import{existsSync as T}from"fs";import{constants as _}from"http2";import E from"mime";import{ContentType as t}from"../constants.js";const e=(o,r,S)=>({header:(T,_)=>e(o,{...r,[T]:_},S),body:T=>e(o,r,S.concat(T)),json:T=>{o.respond({[_.HTTP2_HEADER_STATUS]:_.HTTP_STATUS_OK,[_.HTTP2_HEADER_CONTENT_TYPE]:t.JSON,...r}),o.end(JSON.stringify(T))},file:e=>{var S;T(e)?o.respondWithFile(e,{[_.HTTP2_HEADER_STATUS]:_.HTTP_STATUS_OK,[_.HTTP2_HEADER_CONTENT_TYPE]:null!==(S=E.getType(e))&&void 0!==S?S:t.TEXT,...r},{statCheck(T,E){E[_.HTTP2_HEADER_LAST_MODIFIED]=T.mtime.toUTCString()}}):o.respond({[_.HTTP2_HEADER_STATUS]:_.HTTP_STATUS_NOT_FOUND},{endStream:!0})},end:()=>{o.respond({[_.HTTP2_HEADER_STATUS]:_.HTTP_STATUS_OK,...S.length>0?{[_.HTTP2_HEADER_CONTENT_TYPE]:t.TEXT}:{},...r}),S.forEach((T=>o.write(T))),o.end()}}),o=({stream:T})=>e(T,{},[]);export{o as responseFor}; //# sourceMappingURL=response.js.map