HttpController.kt

  1. package com.hexagontk.http.handlers

  2. import com.hexagontk.handlers.Context
  3. import com.hexagontk.http.model.HttpCall

  4. /**
  5.  * Utility to encapsulate a handler in a class. TODO
  6.  */
  7. interface HttpController : HttpHandler {
  8.     val handler: HttpHandler

  9.     override val handlerPredicate: HttpPredicate
  10.         get() = handler.handlerPredicate

  11.     override fun addPrefix(prefix: String): HttpHandler =
  12.         handler.addPrefix(prefix)

  13.     override fun process(context: Context<HttpCall>): Context<HttpCall> =
  14.         handler.process(context)

  15.     override val predicate: (Context<HttpCall>) -> Boolean
  16.         get() = handler.predicate
  17. }