Package org.eclipse.jgit.http.server
Class SmartServiceInfoRefs
- java.lang.Object
-
- org.eclipse.jgit.http.server.SmartServiceInfoRefs
-
- All Implemented Interfaces:
javax.servlet.Filter
- Direct Known Subclasses:
ReceivePackServlet.InfoRefs
,UploadPackServlet.InfoRefs
abstract class SmartServiceInfoRefs extends java.lang.Object implements javax.servlet.Filter
Filter in front ofInfoRefsServlet
to catch smart service requests.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
SmartServiceInfoRefs.Chain
-
Constructor Summary
Constructors Constructor Description SmartServiceInfoRefs(java.lang.String service, java.util.List<javax.servlet.Filter> filters)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method 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)
-
-
-
Method Detail
-
init
public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException
- Specified by:
init
in interfacejavax.servlet.Filter
- Throws:
javax.servlet.ServletException
-
destroy
public void destroy()
- Specified by:
destroy
in interfacejavax.servlet.Filter
-
doFilter
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
- Specified by:
doFilter
in interfacejavax.servlet.Filter
- Throws:
java.io.IOException
javax.servlet.ServletException
-
service
private void service(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) throws java.io.IOException
- Throws:
java.io.IOException
-
begin
protected abstract void begin(javax.servlet.http.HttpServletRequest req, Repository db) throws java.io.IOException, ServiceNotEnabledException, ServiceNotAuthorizedException
Begin service.- Parameters:
req
- requestdb
- repository- Throws:
java.io.IOException
ServiceNotEnabledException
ServiceNotAuthorizedException
-
advertise
protected abstract void advertise(javax.servlet.http.HttpServletRequest req, RefAdvertiser.PacketLineOutRefAdvertiser pck) throws java.io.IOException, ServiceNotEnabledException, ServiceNotAuthorizedException
Advertise.- Parameters:
req
- requestpck
-- Throws:
java.io.IOException
ServiceNotEnabledException
ServiceNotAuthorizedException
-
respond
protected void respond(javax.servlet.http.HttpServletRequest req, PacketLineOut pckOut, java.lang.String serviceName) throws java.io.IOException, ServiceNotEnabledException, ServiceNotAuthorizedException
Writes the appropriate response to an info/refs request received by a smart service. In protocol v0, this starts with "# service=serviceName" followed by a flush packet, but this is not necessarily the case in other protocol versions.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.- Parameters:
req
- requestpckOut
- destination of responseserviceName
- service name to be written out in protocol v0; may or may not be used in other versions- Throws:
java.io.IOException
ServiceNotEnabledException
ServiceNotAuthorizedException
-
-