org.eclipse.jgit.http.server
Class ServletUtils

java.lang.Object
  extended by org.eclipse.jgit.http.server.ServletUtils

public final class ServletUtils
extends java.lang.Object

Common utility functions for servlets.


Field Summary
static java.lang.String ATTRIBUTE_HANDLER
          Request attribute storing either UploadPack or ReceivePack.
static java.lang.String ATTRIBUTE_REPOSITORY
          Request attribute which stores the Repository instance.
 
Method Summary
static java.io.InputStream getInputStream(javax.servlet.http.HttpServletRequest req)
          Open the request input stream, automatically inflating if necessary.
static Repository getRepository(javax.servlet.ServletRequest req)
          Get the selected repository from the request.
static void send(byte[] content, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse rsp)
          Send a response to a GET or HEAD HTTP request.
static void sendPlainText(java.lang.String content, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse rsp)
          Send a plain text response to a GET or HEAD HTTP request.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ATTRIBUTE_REPOSITORY

public static final java.lang.String ATTRIBUTE_REPOSITORY
Request attribute which stores the Repository instance.

See Also:
Constant Field Values

ATTRIBUTE_HANDLER

public static final java.lang.String ATTRIBUTE_HANDLER
Request attribute storing either UploadPack or ReceivePack.

See Also:
Constant Field Values
Method Detail

getRepository

public static Repository getRepository(javax.servlet.ServletRequest req)
Get the selected repository from the request.

Parameters:
req - the current request.
Returns:
the repository; never null.
Throws:
java.lang.IllegalStateException - the repository was not set by the filter, the servlet is being invoked incorrectly and the programmer should ensure the filter runs before the servlet.
See Also:
ATTRIBUTE_REPOSITORY

getInputStream

public static java.io.InputStream getInputStream(javax.servlet.http.HttpServletRequest req)
                                          throws java.io.IOException
Open the request input stream, automatically inflating if necessary.

This method automatically inflates the input stream if the request Content-Encoding header was set to gzip or the legacy x-gzip.

Parameters:
req - the incoming request whose input stream needs to be opened.
Returns:
an input stream to read the raw, uncompressed request body.
Throws:
java.io.IOException - if an input or output exception occurred.

sendPlainText

public static void sendPlainText(java.lang.String content,
                                 javax.servlet.http.HttpServletRequest req,
                                 javax.servlet.http.HttpServletResponse rsp)
                          throws java.io.IOException
Send a plain text response to a GET or HEAD HTTP request.

The text response is encoded in the Git character encoding, UTF-8.

If the user agent supports a compressed transfer encoding and the content is large enough, the content may be compressed before sending.

The ETag and Content-Length headers are automatically set by this method. Content-Encoding is conditionally set if the user agent supports a compressed transfer. Callers are responsible for setting any cache control headers.

Parameters:
content - to return to the user agent as this entity's body.
req - the incoming request.
rsp - the outgoing response.
Throws:
java.io.IOException - the servlet API rejected sending the body.

send

public static void send(byte[] content,
                        javax.servlet.http.HttpServletRequest req,
                        javax.servlet.http.HttpServletResponse rsp)
                 throws java.io.IOException
Send a response to a GET or HEAD HTTP request.

If the user agent supports a compressed transfer encoding and the content is large enough, the content may be compressed before sending.

The ETag and Content-Length headers are automatically set by this method. Content-Encoding is conditionally set if the user agent supports a compressed transfer. Callers are responsible for setting Content-Type and any cache control headers.

Parameters:
content - to return to the user agent as this entity's body.
req - the incoming request.
rsp - the outgoing response.
Throws:
java.io.IOException - the servlet API rejected sending the body.


Copyright © 2011. All Rights Reserved.