All Downloads are FREE. Search and download functionalities are using the official Maven repository.

proteus-core.0.4.5.source-code.reference.conf Maven / Gradle / Ivy


application {
 
  env = dev

  version = "1.0"

  name="proteus" 

  path = "/v1"

  host = "localhost"
 
  ports {
    http = 8090
   # https = 8443
  }

  charset = UTF-8
 
  fallbackHandler = "io.sinistral.proteus.server.handlers.ServerFallbackHandler"

  defaultResponseListener = "io.sinistral.proteus.server.handlers.ServerDefaultResponseListener"

  jacksonModule = "io.sinistral.proteus.modules.JacksonModule"

  tmpdir = ${java.io.tmpdir}/${application.name}

  # path to default favicon file
  favicon = "/io/sinistral/proteus/favicon.ico"
  
}

api.version="v1"

globalHeaders 
{
#  Access-Control-Allow-Origin: "*"
#  Access-Control-Allow-Methods: "*"
#  Access-Control-Allow-Headers: "*"
  Server = ${application.name}
}

health {
  statusPath = "/health"
}

 

assets {
  # the base path assets will be server from
  path = "/public"
  # the directory to load the assets from
  dir = "./assets"
  cache {
    # cache timeout for the assets
    time = 500
  }
 

}


openapi {

  basePath= ${application.path}"/openapi"

  redocPath= "redoc"

  port = ${application.ports.http}

  specFilename="openapi.yaml"

  openapi="3.0.1"

  # openapi info
  info {
    title = ${application.name}
    version = ${application.version}
    description="Proteus Server"
  }

  securitySchemes {
    ApiKeyAuth = {
     type="apiKey"
      in="header"
      name="X-API-KEY" 
    }
  }

  servers = [
    { 
      url=${application.path}
      description="Default Server"  
    }
  ]

  converterClasses = [

  ]
}

jackson {

  jsonView = {
    # a class that provides a mapping from the JsonView query parameter values to JsonView classes
    className = null
    # the name of the query parameter to use for JsonView class lookup
    queryParameterName = "context"
  }

}


swagger {

  enabled=true

  # the path that has an index.html template and theme css files
  resourcePrefix="io/sinistral/proteus/server/tools/swagger"

  host=${application.host}
  # swagger version
  swagger="2.0"

  info {
    # swagger info title
    title = ${application.name}
    # swagger info version
    version = ${application.version} 
  }
 

  # swagger-ui theme from ostranme's swagger-ui-themes, the following are built-in [feeling-blue, flattop, material, monokai, muted, newspaper, outline]
  # specifying a different name causes the SwaggerService to search in {swagger.resourcePrefix}/themes for a file named "theme-{swagger.theme}.css"
  theme="default"
  # where the swagger endpoints will be mounted
  basePath= ${application.path}"/swagger"
  # where redoc will be mounted relative to swagger base path
  redocPath= "redoc"
  #the name of the spec file
  specFilename="swagger.json"
  
  consumes = ["application/json"]
  
  produces = ["application/json"]

  port = ${application.ports.http}

  security =
  {
    apiKeys = [
        {
          key="defaultApiKey"
          in="HEADER",
          name="Authorization"
          value="123456789"
        }
    ]

#    basicRealms =
#    [
#      {
#        name = defaultBasic 
#        identities = 
#        [
#          "username:password"
#        ]
#      }
#    ]
  }
}

undertow
{
  server {
  
    alwaysSetDate = true
    alwaysSetKeepAlive = false
    recordRequestStartTime = false 
    maxEntitySize = 512M
    bufferPipelinedData = false
    enableHttp2=true
    
  }

  socket {
    backlog = 10000
    reuseAddresses = true
  }

 
  ssl { 
      enabled=false
      keystorePath="development.jks"
      truststorePath="development.ts"
      keystorePassword="password"
      truststorePassword="password" 
  }

  # x AvailableProcessors
  ioThreadsMultiplier = 1
  workerThreadMultiplier = 8
  bufferSize = 16k
  directBuffers = true
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy