abstract class SmartServiceInfoRefs
extends java.lang.Object
implements javax.servlet.Filter
InfoRefsServlet to catch smart service requests.| Modifier and Type | Class and Description |
|---|---|
private class |
SmartServiceInfoRefs.Chain |
| Modifier and Type | Field and Description |
|---|---|
private javax.servlet.Filter[] |
filters |
private java.lang.String |
svc |
| Constructor and Description |
|---|
SmartServiceInfoRefs(java.lang.String service,
java.util.List<javax.servlet.Filter> filters) |
| Modifier and Type | Method and Description |
|---|---|
protected abstract void |
advertise(javax.servlet.http.HttpServletRequest req,
RefAdvertiser.PacketLineOutRefAdvertiser pck)
Advertise.
|
protected abstract void |
begin(javax.servlet.http.HttpServletRequest req,
Repository db)
Begin service.
|
void |
destroy() |
void |
doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain) |
void |
init(javax.servlet.FilterConfig config) |
protected void |
respond(javax.servlet.http.HttpServletRequest req,
PacketLineOut pckOut,
java.lang.String serviceName)
Writes the appropriate response to an info/refs request received by
a smart service.
|
private void |
service(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response) |
private final java.lang.String svc
private final javax.servlet.Filter[] filters
SmartServiceInfoRefs(java.lang.String service,
java.util.List<javax.servlet.Filter> filters)
public void init(javax.servlet.FilterConfig config)
throws javax.servlet.ServletException
init in interface javax.servlet.Filterjavax.servlet.ServletExceptionpublic void destroy()
destroy in interface javax.servlet.Filterpublic void doFilter(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response,
javax.servlet.FilterChain chain)
throws java.io.IOException,
javax.servlet.ServletException
doFilter in interface javax.servlet.Filterjava.io.IOExceptionjavax.servlet.ServletExceptionprivate void service(javax.servlet.ServletRequest request,
javax.servlet.ServletResponse response)
throws java.io.IOException
java.io.IOExceptionprotected abstract void begin(javax.servlet.http.HttpServletRequest req,
Repository db)
throws java.io.IOException,
ServiceNotEnabledException,
ServiceNotAuthorizedException
req - requestdb - repositoryjava.io.IOExceptionServiceNotEnabledExceptionServiceNotAuthorizedExceptionprotected abstract void advertise(javax.servlet.http.HttpServletRequest req,
RefAdvertiser.PacketLineOutRefAdvertiser pck)
throws java.io.IOException,
ServiceNotEnabledException,
ServiceNotAuthorizedException
req - requestpck - java.io.IOExceptionServiceNotEnabledExceptionServiceNotAuthorizedExceptionprotected void respond(javax.servlet.http.HttpServletRequest req,
PacketLineOut pckOut,
java.lang.String serviceName)
throws java.io.IOException,
ServiceNotEnabledException,
ServiceNotAuthorizedException
The default implementation writes "# service=serviceName" and a
flush packet, then calls advertise(javax.servlet.http.HttpServletRequest, org.eclipse.jgit.transport.RefAdvertiser.PacketLineOutRefAdvertiser). Subclasses should
override this method if they support protocol versions other than
protocol v0.
req - requestpckOut - destination of responseserviceName - service name to be written out in protocol v0; may or may
not be used in other versionsjava.io.IOExceptionServiceNotEnabledExceptionServiceNotAuthorizedException