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.FilterFilter in front ofInfoRefsServletto catch smart service requests.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classSmartServiceInfoRefs.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 voidadvertise(javax.servlet.http.HttpServletRequest req, RefAdvertiser.PacketLineOutRefAdvertiser pck)Advertise.protected abstract voidbegin(javax.servlet.http.HttpServletRequest req, Repository db)Begin service.voiddestroy()voiddoFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)voidinit(javax.servlet.FilterConfig config)protected voidrespond(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 voidservice(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)
-
-
-
Method Detail
-
init
public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException- Specified by:
initin interfacejavax.servlet.Filter- Throws:
javax.servlet.ServletException
-
destroy
public void destroy()
- Specified by:
destroyin 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:
doFilterin interfacejavax.servlet.Filter- Throws:
java.io.IOExceptionjavax.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, ServiceNotAuthorizedExceptionBegin service.- Parameters:
req- requestdb- repository- Throws:
java.io.IOExceptionServiceNotEnabledExceptionServiceNotAuthorizedException
-
advertise
protected abstract void advertise(javax.servlet.http.HttpServletRequest req, RefAdvertiser.PacketLineOutRefAdvertiser pck) throws java.io.IOException, ServiceNotEnabledException, ServiceNotAuthorizedExceptionAdvertise.- Parameters:
req- requestpck-- Throws:
java.io.IOExceptionServiceNotEnabledExceptionServiceNotAuthorizedException
-
respond
protected void respond(javax.servlet.http.HttpServletRequest req, PacketLineOut pckOut, java.lang.String serviceName) throws java.io.IOException, ServiceNotEnabledException, ServiceNotAuthorizedExceptionWrites 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.IOExceptionServiceNotEnabledExceptionServiceNotAuthorizedException
-
-