## Input Parameters
# PORT to start API
PORT <- input[[1]]
# Working DIrectory
workingDirectory <- input[[2]]
# library path
libPath <- input[[3]]
# library path
memoryLimit <- input[[4]]
# API timeout
timeout <- input[[5]]

# Set working directory
setwd(workingDirectory);

source('fn.common.utilities.R')

options( digits = 22 )

# load packages
load.packages(c('haven', 'plyr', 'stringr', 'jsonlite', 'readr'), libPath)

# set initial configurations like memory limit, locale
set.configurations(as.numeric(memoryLimit))

#. router configuration
r <- plumber::plumb('router.R')

# start application
r$run(host="0.0.0.0", 
     port = as.numeric(PORT),
     swagger = TRUE)