Add UnsupportedPagingConfig class
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import java.util.Properties
|
||||
import java.util.*
|
||||
|
||||
plugins {
|
||||
alias(libs.plugins.dokka)
|
||||
@@ -8,11 +8,15 @@ plugins {
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven {
|
||||
url = uri("https://gitea.neuon-kuching.com/api/packages/neuon-ai/maven")
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(libs.ktor.client)
|
||||
testImplementation(kotlin("test"))
|
||||
implementation(libs.neuon.paging)
|
||||
}
|
||||
|
||||
tasks.test {
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package ai.neuon.utility.http.response
|
||||
|
||||
import io.ktor.http.*
|
||||
|
||||
/**
|
||||
* A runtime exception that can be used to stop a request immediately
|
||||
* with a specific status code.
|
||||
*/
|
||||
open class HttpResponseException(
|
||||
val status: HttpStatusCode,
|
||||
val statusMessage: String = status.description,
|
||||
cause: Throwable? = null,
|
||||
) : RuntimeException(cause)
|
||||
@@ -0,0 +1,8 @@
|
||||
package ai.neuon.utility.http.response
|
||||
|
||||
import java.util.*
|
||||
|
||||
/**
|
||||
* A runtime exception that indicates a specific property is not found in a [Properties]
|
||||
*/
|
||||
class MissingPropertyException(key: String) : RuntimeException("Missing property `${key}`")
|
||||
@@ -0,0 +1,10 @@
|
||||
package ai.neuon.utility.http.response
|
||||
|
||||
import ai.neuon.utility.paging.PagingRequest
|
||||
import io.ktor.http.*
|
||||
|
||||
class UnsupportedPagingConfig(supportedTypes: List<PagingRequest.Type>) : HttpResponseException(
|
||||
status = HttpStatusCode.BadRequest,
|
||||
statusMessage = supportedTypes.distinct()
|
||||
.joinToString { it.key },
|
||||
)
|
||||
Reference in New Issue
Block a user