Package-level declarations

Types

Link copied to clipboard

Supported pre compressed file types and associated extensions

Link copied to clipboard

Represents a simple status code response with no content

Link copied to clipboard
class JarFileContent(val jarFile: File, val resourcePath: String, val contentType: ContentType) : OutgoingContent.ReadChannelContent

Represents an OutgoingContent for a resource inside a Jar file

Link copied to clipboard
class LocalFileContent(val file: File, val contentType: ContentType = ContentType.defaultForFile(file)) : OutgoingContent.ReadChannelContent

OutgoingContent representing a local file with a specified contentType, expires date and caching

Link copied to clipboard
class SPAConfig(var defaultPage: String = "index.html", var applicationRoute: String = "/", var filesPath: String = "", var useResources: Boolean = false, ignoredFiles: MutableList<(String) -> Boolean> = mutableListOf())

Configuration for the Route.singlePageApplication plugin.

Link copied to clipboard

A config for serving static content

Functions

Link copied to clipboard
fun SPAConfig.angular(filesPath: String)

Creates an application configuration for the Angular project. Resources will be shared from the filesPath directory. The root file is index.html

Link copied to clipboard
fun SPAConfig.backbone(filesPath: String)

Creates an application configuration for the Backbone project. Resources will be shared from the filesPath directory. The root file is index.html

Link copied to clipboard
fun CachingOptions(cacheControl: CacheControl? = null, expires: ZonedDateTime): CachingOptions

Creates CachingOptions instance with ZonedDateTime expiration time

Link copied to clipboard
fun Route.default(localPath: File)
fun Route.default(localPath: String)

Specifies localPath as a default file to serve when folder is requested

Link copied to clipboard
fun Route.defaultResource(resource: String, resourcePackage: String? = null)

Specifies resource as a default resources to serve when folder is requested

Link copied to clipboard
fun SPAConfig.ember(filesPath: String)

Creates an application configuration for the Ember project. Resources will be shared from the filesPath directory. The root file is index.html

Link copied to clipboard
fun Route.file(remotePath: String, localPath: File)
fun Route.file(remotePath: String, localPath: String = remotePath)

Sets up routing to serve localPath file as remotePath

Link copied to clipboard
fun Route.files(folder: File)
fun Route.files(folder: String)

Sets up routing to serve all files from folder

Link copied to clipboard
fun SPAConfig.ignoreFiles(block: (path: String) -> Boolean)

Registers a block in ignoredFiles returns true if path should be ignored.

Link copied to clipboard

Checks if the application call is requesting static content

Link copied to clipboard

Construct LastModifiedVersion version from a FileTime instance

Construct LastModifiedVersion version from a ZonedDateTime instance

Construct LastModifiedVersion version from a Long instance

Link copied to clipboard
fun LocalFileContent(baseDir: File, relativePath: String, contentType: ContentType = ContentType.defaultForFilePath(relativePath)): LocalFileContent
fun LocalFileContent(baseDir: Path, relativePath: Path, contentType: ContentType = ContentType.defaultForFile(relativePath)): LocalFileContent

Creates an instance of LocalFileContent for a file designated by relativePath in a baseDir

Link copied to clipboard
fun Route.preCompressed(vararg types: CompressedFileType = CompressedFileType.values(), configure: Route.() -> Unit)

Support pre-compressed files and resources

Link copied to clipboard
fun SPAConfig.react(filesPath: String)

Creates an application configuration for the React project. Resources will be shared from the filesPath directory. The root file is index.html

Link copied to clipboard
fun ApplicationCall.resolveResource(path: String, resourcePackage: String? = null, classLoader: ClassLoader = application.environment.classLoader, mimeResolve: (String) -> ContentType = { ContentType.defaultForFileExtension(it) }): OutgoingContent.ReadChannelContent?
Link copied to clipboard
fun Route.resource(remotePath: String, resource: String = remotePath, resourcePackage: String? = null)

Sets up routing to serve resource as remotePath in resourcePackage

Link copied to clipboard

Attempt to find a local file or a file inside of zip. This is not required but very good to have to improve performance and unnecessary java.io.InputStream creation.

Link copied to clipboard
fun Route.resources(resourcePackage: String? = null)

Sets up routing to serve all resources in resourcePackage

Link copied to clipboard
fun Route.singlePageApplication(configBuilder: SPAConfig.() -> Unit = {})

Serves a single-page application. You can learn more from Serving single-page applications.

Link copied to clipboard
fun Route.static(configure: Route.() -> Unit): Route

Create a block for static content

fun Route.static(remotePath: String, configure: Route.() -> Unit): Route

Create a block for static content at specified remotePath

Link copied to clipboard
fun Route.staticFiles(remotePath: String, dir: File, index: String? = "index.html", block: StaticContentConfig<File>.() -> Unit = {}): Route

Sets up Routing to serve static files. All files inside dir will be accessible recursively at "remotePath/path/to/file". If the requested file is a directory and index is not null, then response will be index file in the requested directory.

Link copied to clipboard
fun Route.staticResources(remotePath: String, basePackage: String?, index: String? = "index.html", block: StaticContentConfig<URL>.() -> Unit = {}): Route

Sets up Routing to serve resources as static content. All resources inside basePackage will be accessible recursively at "remotePath/path/to/resource". If requested resource doesn't exist and index is not null, then response will be index resource in the requested package.

Link copied to clipboard

Default outgoing content transformation

Link copied to clipboard
fun SPAConfig.vue(filesPath: String)

Creates an application configuration for the Vue project. Resources will be shared from the filesPath directory. The root file is index.html

Properties

Link copied to clipboard

Base package for relative resources calculations for static content

Link copied to clipboard

Base folder for relative files calculations for static content

Link copied to clipboard

Attribute that could be added to an application call to prevent its response from being compressed