/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/tm-apps-api@4.11.15/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";const restify=require("restify"),BeneLogger=require("bene-logger"),morgan=require("morgan"),article=require("./lib/article"),author=require("./lib/author"),getId=require("./lib/getId"),schema=require("./lib/schema");let Db=require("tm-apps-db");const redis=require("redis"),apicache=require("apicache"),logDirectory="/var/log/nginx/healthd",rollers=require("streamroller");function enhancedHealthReporting(e,r){const t=new r(`${logDirectory}/application.log.`,"yyyy-MM-dd-hh",{alwaysIncludePattern:!0});return e.token("unixtime",(()=>(new Date).getTime()/1e3)),e(':unixtime":url":status":response-time":response-time":remote-addr',{stream:t})}function redisCache(e,r,t){return t.options({redisClient:r.createClient(e.cache.redis),statusCodes:{exclude:[],include:[200]}}).middleware(e.cache.duration)}if(module.exports=function(e){e.authorsEndpoint=e.authorsEndpoint.replace("org-","");const r=new BeneLogger({logging:e.logging.enabled}),t=Db(e.db,r);r.setDefaults({service_name:"appsApi"}),r.info("starting api",{config:JSON.stringify(e)});const n=restify.createServer({name:"appsApi"});return!0===e.logging.enhanced&&n.use(enhancedHealthReporting(morgan,rollers.DateRollingFileStream)),!0===e.cache.enabled&&n.use(redisCache(e,redis,apicache)),n.use(restify.queryParser()),n.on("uncaughtException",(function(e,t,n,i){r.error("api error",{stack:i.stack}),t.send(new restify.InternalServerError),t.end()})),n.listen(e.server.port,(function(){r.info("server listening",{server_name:n.name,server_url:n.url})})),n.use(((e,t,n)=>{r.debug(`request ${e.method} ${encodeURIComponent(e.url)}`,{ip:e.headers["x-forwarded-for"]||e.connection.remoteAddress,userAgent:e.headers["user-agent"],statusCode:t.statusCode}),n()})),n.get("healthcheck",((e,r)=>{r.charSet("utf-8"),r.json({version:process.env.npm_package_version,server:{name:n.name,url:n.url}})})),n.get("/:source/:publicationId/articles/:articleId",article(t,e)),n.get("/:source/:publicationId/section-ids",getId.section(t,e)),n.get("/tag-ids",getId.tag(t,e,r)),n.get("/schemas",schema.getSchemaList),n.get("/schemas/:contentType",schema.getSchema),n.get("/:source/:pubblicationId/authors/:authorId",author(t,e)),n},require.main===module){const e=require("config");module.exports(e)}
//# sourceMappingURL=/sm/2a112fc73391c0c816a3864a95fe5e35b1b1aa7744b92b9535878ac049927055.map