Skip to content

Commit 9fcadbc

Browse files
committed
Refactor ResourceScanner to replace MultipartFile with InputStream and fileName parameters
1 parent 1507cd9 commit 9fcadbc

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/main/kotlin/com/cosmotech/api/utils/ResourceScanner.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import org.apache.tika.metadata.TikaCoreProperties
1313
import org.slf4j.Logger
1414
import org.slf4j.LoggerFactory
1515
import org.springframework.stereotype.Component
16-
import org.springframework.web.multipart.MultipartFile
1716

1817
private const val ZIP_MIME_TYPE = "zip"
1918
private const val ENTRY_NAME_UNKNOWN = "Unknown"
@@ -22,11 +21,13 @@ private const val ENTRY_NAME_UNKNOWN = "Unknown"
2221
class ResourceScanner {
2322
private val logger: Logger = LoggerFactory.getLogger(this::class.java)
2423

25-
fun scanMimeTypes(file: MultipartFile, authorizedMimeTypes: List<String>) {
24+
fun scanMimeTypes(
25+
fileName: String = ENTRY_NAME_UNKNOWN,
26+
inputStream: InputStream,
27+
authorizedMimeTypes: List<String>
28+
) {
2629
val tika = TikaConfig()
27-
val inputStream = file.inputStream
28-
val name = file.originalFilename ?: ENTRY_NAME_UNKNOWN
29-
this.scanStream(tika, inputStream, name, authorizedMimeTypes)
30+
this.scanStream(tika, inputStream, fileName, authorizedMimeTypes)
3031
}
3132

3233
private fun scanStream(
@@ -40,7 +41,7 @@ class ResourceScanner {
4041
var mimetype = tika.detector.detect(inputStream, metadata)
4142
this.validateMimeType(mimetype.toString(), name, authorizedMimeTypes)
4243
this.logger.info("Detected type for file $name: $mimetype")
43-
if (mimetype.subtype.equals(ZIP_MIME_TYPE)) {
44+
if (mimetype.subtype == ZIP_MIME_TYPE) {
4445
val zipIn = ZipInputStream(inputStream)
4546
this.recurseScanZipFile(tika, zipIn, name, authorizedMimeTypes)
4647
}

0 commit comments

Comments
 (0)