This is an automated email from the ASF dual-hosted git repository.
tallison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git
The following commit(s) were added to refs/heads/main by this push:
new e2250e0 writeLimit and maxEmbeddedResources for recursive parsing -
add header (#326)
e2250e0 is described below
commit e2250e0b3ac19dbeda7672102fc648be6644f303
Author: Nicholas DiPiazza <[email protected]>
AuthorDate: Wed Jul 15 12:36:48 2020 -0500
writeLimit and maxEmbeddedResources for recursive parsing - add header
(#326)
parameters so that this can be customized.
---
.../tika/server/resource/RecursiveMetadataResource.java | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git
a/tika-server/src/main/java/org/apache/tika/server/resource/RecursiveMetadataResource.java
b/tika-server/src/main/java/org/apache/tika/server/resource/RecursiveMetadataResource.java
index 524759e..15aca64 100644
---
a/tika-server/src/main/java/org/apache/tika/server/resource/RecursiveMetadataResource.java
+++
b/tika-server/src/main/java/org/apache/tika/server/resource/RecursiveMetadataResource.java
@@ -139,10 +139,20 @@ public class RecursiveMetadataResource {
TikaResource.fillParseContext(context, httpHeaders, null);
TikaResource.logRequest(LOG, info, metadata);
- BasicContentHandlerFactory.HANDLER_TYPE type =
+ int writeLimit = -1;
+ if (httpHeaders.containsKey("writeLimit")) {
+ writeLimit = Integer.parseInt(httpHeaders.getFirst("writeLimit"));
+ }
+
+ int maxEmbeddedResources = -1;
+ if (httpHeaders.containsKey("maxEmbeddedResources")) {
+ writeLimit =
Integer.parseInt(httpHeaders.getFirst("maxEmbeddedResources"));
+ }
+
+ BasicContentHandlerFactory.HANDLER_TYPE type =
BasicContentHandlerFactory.parseHandlerType(handlerTypeName,
DEFAULT_HANDLER_TYPE);
RecursiveParserWrapperHandler handler = new
RecursiveParserWrapperHandler(
- new BasicContentHandlerFactory(type, -1), -1);
+ new BasicContentHandlerFactory(type, writeLimit),
maxEmbeddedResources);
try {
TikaResource.parse(wrapper, LOG, info.getPath(), is, handler,
metadata, context);
} catch (SecurityException e) {