From 08694c4ceef4c31b804c0f129c0a928b1a3f237d Mon Sep 17 00:00:00 2001 From: JellyBrick Date: Mon, 2 May 2022 01:16:43 +0900 Subject: [PATCH] release 1.14.2: fix FileInfo class variable visibility --- README.md | 6 +++--- build.gradle | 5 ++++- .../be/zvz/kotlininside/http/HttpInterface.java | 14 ++++++++++++-- .../be/zvz/kotlininside/http/DefaultHttpClient.kt | 14 +++++++++----- .../kotlin/be/zvz/kotlininside/KotlinInsideTest.kt | 2 -- 5 files changed, 28 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 98a29426..4bd48c93 100644 --- a/README.md +++ b/README.md @@ -10,13 +10,13 @@ #### < Gradle 7 ```groovy -compile 'be.zvz:KotlinInside:1.14.1' +compile 'be.zvz:KotlinInside:1.14.2' ``` #### Gradle 7+ ```groovy -implementation 'be.zvz:KotlinInside:1.14.1' +implementation 'be.zvz:KotlinInside:1.14.2' ``` ### Maven @@ -25,7 +25,7 @@ implementation 'be.zvz:KotlinInside:1.14.1' be.zvz KotlinInside - 1.14.1 + 1.14.2 ``` diff --git a/build.gradle b/build.gradle index f09ec3cb..f9494be0 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,7 @@ boolean isDev = false String libName = 'KotlinInside' String libDevVersion = isDev ? '-SNAPSHOT' : '' -String libVersion = "1.14.1$libDevVersion" +String libVersion = "1.14.2$libDevVersion" String libDesc = 'Unofficial DCInside API written in Kotlin' group = 'be.zvz' @@ -36,10 +36,13 @@ sourceSets { } compileJava { + options.encoding = 'UTF-8' sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } +javadoc.options.encoding = 'UTF-8' + protobuf { protoc { artifact = 'com.google.protobuf:protoc:3.20.1' diff --git a/src/main/java/be/zvz/kotlininside/http/HttpInterface.java b/src/main/java/be/zvz/kotlininside/http/HttpInterface.java index 7b60f7bf..9f678e4e 100644 --- a/src/main/java/be/zvz/kotlininside/http/HttpInterface.java +++ b/src/main/java/be/zvz/kotlininside/http/HttpInterface.java @@ -27,9 +27,19 @@ public interface HttpInterface { final class Option { public static final class FileInfo { @NotNull - final InputStream stream; + private final InputStream stream; @Nullable - final String mimeType; + private final String mimeType; + + @NotNull + public InputStream getStream() { + return stream; + } + + @Nullable + public String getMimeType() { + return mimeType; + } public FileInfo(@NotNull InputStream stream) { this(stream, null); diff --git a/src/main/kotlin/be/zvz/kotlininside/http/DefaultHttpClient.kt b/src/main/kotlin/be/zvz/kotlininside/http/DefaultHttpClient.kt index 940bd5dd..1c89c6e9 100644 --- a/src/main/kotlin/be/zvz/kotlininside/http/DefaultHttpClient.kt +++ b/src/main/kotlin/be/zvz/kotlininside/http/DefaultHttpClient.kt @@ -163,7 +163,7 @@ class DefaultHttpClient } else { request.part( key, - "image$infix.${fromMimeTypeToExtension(fileInfo.mimeType)}", + "image$infix${fromMimeTypeToExtension(fileInfo.mimeType)}", fileInfo.mimeType, fileInfo.stream ) @@ -213,19 +213,23 @@ class DefaultHttpClient val fileName: String ) - private fun fromMimeTypeToExtension(contentType: String): String = - MimeTypes.getDefaultMimeTypes().forName(contentType).extension + private fun fromMimeTypeToExtension(contentType: String?): String = + MimeTypes.getDefaultMimeTypes().forName(contentType ?: DEFAULT_MIME_TYPE).extension private fun getFileInfoFromStream(inputStream: InputStream, infix: Int): FileInfo { val contentType = try { tika.detect(inputStream) } catch (_: IOException) { - "video/mp4" + DEFAULT_MIME_TYPE } return FileInfo( contentType, - "image$infix.${fromMimeTypeToExtension(contentType)}" + "image$infix${fromMimeTypeToExtension(contentType)}" ) } class Proxy internal constructor(var ip: String, var port: Int) + + companion object { + const val DEFAULT_MIME_TYPE = "video/mp4" + } } diff --git a/src/test/kotlin/be/zvz/kotlininside/KotlinInsideTest.kt b/src/test/kotlin/be/zvz/kotlininside/KotlinInsideTest.kt index 87ae1262..6bbc6fbe 100644 --- a/src/test/kotlin/be/zvz/kotlininside/KotlinInsideTest.kt +++ b/src/test/kotlin/be/zvz/kotlininside/KotlinInsideTest.kt @@ -10,7 +10,6 @@ import be.zvz.kotlininside.api.generic.MinorGalleryRanking import be.zvz.kotlininside.api.type.Article import be.zvz.kotlininside.api.type.HeadText import be.zvz.kotlininside.api.type.content.HtmlContent -import be.zvz.kotlininside.api.type.content.ImageContent import be.zvz.kotlininside.api.type.content.MarkdownContent import be.zvz.kotlininside.api.type.content.StringContent import be.zvz.kotlininside.http.DefaultHttpClient @@ -19,7 +18,6 @@ import org.junit.jupiter.api.MethodOrderer import org.junit.jupiter.api.Order import org.junit.jupiter.api.TestInstance import org.junit.jupiter.api.TestMethodOrder -import java.net.URL import java.time.ZoneId import java.util.* import java.util.logging.Logger