Class TikaResource


  • @Path("/tika")
    public class TikaResource
    extends Object
    • Field Detail

      • GREETING

        public static final String GREETING
    • Constructor Detail

      • TikaResource

        public TikaResource()
    • Method Detail

      • createParser

        public static Parser createParser()
      • getConfig

        public static TikaConfig getConfig()
      • detectFilename

        public static String detectFilename​(javax.ws.rs.core.MultivaluedMap<String,​String> httpHeaders)
      • fillParseContext

        public static void fillParseContext​(javax.ws.rs.core.MultivaluedMap<String,​String> httpHeaders,
                                            Metadata metadata,
                                            ParseContext parseContext)
      • getInputStream

        public static InputStream getInputStream​(InputStream is,
                                                 Metadata metadata,
                                                 javax.ws.rs.core.HttpHeaders headers,
                                                 javax.ws.rs.core.UriInfo uriInfo)
      • processHeaderConfig

        public static void processHeaderConfig​(Object object,
                                               String key,
                                               String val,
                                               String prefix)
        Utility method to set a property on a class via reflection.
        Parameters:
        object - the Object to set the property on.
        key - the key of the HTTP Header.
        val - the value of HTTP header.
        prefix - the name of the HTTP Header prefix used to find property.
        Throws:
        javax.ws.rs.WebApplicationException - thrown when field cannot be found.
      • fillMetadata

        public static void fillMetadata​(Parser parser,
                                        Metadata metadata,
                                        javax.ws.rs.core.MultivaluedMap<String,​String> httpHeaders)
      • parse

        public static void parse​(Parser parser,
                                 org.slf4j.Logger logger,
                                 String path,
                                 InputStream inputStream,
                                 ContentHandler handler,
                                 Metadata metadata,
                                 ParseContext parseContext)
                          throws IOException
        Use this to call a parser and unify exception handling. NOTE: This call to parse closes the InputStream. DO NOT surround the call in an auto-close block.
        Parameters:
        parser - parser to use
        logger - logger to use
        path - file path
        inputStream - inputStream (which is closed by this call!)
        handler - handler to use
        metadata - metadata
        parseContext - parse context
        Throws:
        IOException - wrapper for all exceptions
      • getTaskTimeout

        protected static long getTaskTimeout​(ParseContext parseContext)
      • checkIsOperating

        public static void checkIsOperating()
      • logRequest

        public static void logRequest​(org.slf4j.Logger logger,
                                      String endpoint,
                                      Metadata metadata)
      • getMessage

        @GET
        @Produces("text/plain")
        public String getMessage()
      • getTextFromMultipart

        @POST
        @Consumes("multipart/form-data")
        @Produces("text/plain")
        @Path("form")
        public javax.ws.rs.core.StreamingOutput getTextFromMultipart​(org.apache.cxf.jaxrs.ext.multipart.Attachment att,
                                                                     @Context
                                                                     javax.ws.rs.core.HttpHeaders httpHeaders,
                                                                     @Context
                                                                     javax.ws.rs.core.UriInfo info)
      • getTextMain

        @PUT
        @Consumes("*/*")
        @Produces("text/plain")
        @Path("main")
        public javax.ws.rs.core.StreamingOutput getTextMain​(InputStream is,
                                                            @Context
                                                            javax.ws.rs.core.HttpHeaders httpHeaders,
                                                            @Context
                                                            javax.ws.rs.core.UriInfo info)
      • getTextMainFromMultipart

        @POST
        @Consumes("multipart/form-data")
        @Produces("text/plain")
        @Path("form/main")
        public javax.ws.rs.core.StreamingOutput getTextMainFromMultipart​(org.apache.cxf.jaxrs.ext.multipart.Attachment att,
                                                                         @Context
                                                                         javax.ws.rs.core.HttpHeaders httpHeaders,
                                                                         @Context
                                                                         javax.ws.rs.core.UriInfo info)
      • produceTextMain

        public javax.ws.rs.core.StreamingOutput produceTextMain​(InputStream is,
                                                                javax.ws.rs.core.MultivaluedMap<String,​String> httpHeaders,
                                                                javax.ws.rs.core.UriInfo info)
      • getText

        @PUT
        @Consumes("*/*")
        @Produces("text/plain")
        public javax.ws.rs.core.StreamingOutput getText​(InputStream is,
                                                        @Context
                                                        javax.ws.rs.core.HttpHeaders httpHeaders,
                                                        @Context
                                                        javax.ws.rs.core.UriInfo info)
      • produceText

        public javax.ws.rs.core.StreamingOutput produceText​(InputStream is,
                                                            Metadata metadata,
                                                            javax.ws.rs.core.MultivaluedMap<String,​String> httpHeaders,
                                                            javax.ws.rs.core.UriInfo info)
      • getHTMLFromMultipart

        @POST
        @Consumes("multipart/form-data")
        @Produces("text/html")
        @Path("form")
        public javax.ws.rs.core.StreamingOutput getHTMLFromMultipart​(org.apache.cxf.jaxrs.ext.multipart.Attachment att,
                                                                     @Context
                                                                     javax.ws.rs.core.HttpHeaders httpHeaders,
                                                                     @Context
                                                                     javax.ws.rs.core.UriInfo info)
      • getHTML

        @PUT
        @Consumes("*/*")
        @Produces("text/html")
        public javax.ws.rs.core.StreamingOutput getHTML​(InputStream is,
                                                        @Context
                                                        javax.ws.rs.core.HttpHeaders httpHeaders,
                                                        @Context
                                                        javax.ws.rs.core.UriInfo info)
      • getXMLFromMultipart

        @POST
        @Consumes("multipart/form-data")
        @Produces("text/xml")
        @Path("form")
        public javax.ws.rs.core.StreamingOutput getXMLFromMultipart​(org.apache.cxf.jaxrs.ext.multipart.Attachment att,
                                                                    @Context
                                                                    javax.ws.rs.core.HttpHeaders httpHeaders,
                                                                    @Context
                                                                    javax.ws.rs.core.UriInfo info)
      • getXML

        @PUT
        @Consumes("*/*")
        @Produces("text/xml")
        public javax.ws.rs.core.StreamingOutput getXML​(InputStream is,
                                                       @Context
                                                       javax.ws.rs.core.HttpHeaders httpHeaders,
                                                       @Context
                                                       javax.ws.rs.core.UriInfo info)
      • getJsonFromMultipart

        @POST
        @Consumes("multipart/form-data")
        @Produces("application/json")
        @Path("form{handler : (\\w+)?}")
        public Metadata getJsonFromMultipart​(org.apache.cxf.jaxrs.ext.multipart.Attachment att,
                                             @Context
                                             javax.ws.rs.core.HttpHeaders httpHeaders,
                                             @Context
                                             javax.ws.rs.core.UriInfo info,
                                             @PathParam("handler")
                                             String handlerTypeName)
                                      throws IOException,
                                             TikaException
        Throws:
        IOException
        TikaException
      • getThrowOnWriteLimitReached

        public static boolean getThrowOnWriteLimitReached​(javax.ws.rs.core.MultivaluedMap<String,​String> httpHeaders)