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
Filter in front of
InfoRefsServlet to catch smart service requests.-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected 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, 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)
-
Field Details
-
svc
-
filters
private final javax.servlet.Filter[] filters
-
-
Constructor Details
-
SmartServiceInfoRefs
-
-
Method Details
-
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 IOException, javax.servlet.ServletException - Specified by:
doFilterin interfacejavax.servlet.Filter- Throws:
IOExceptionjavax.servlet.ServletException
-
service
private void service(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response) throws IOException - Throws:
IOException
-
begin
protected abstract void begin(javax.servlet.http.HttpServletRequest req, Repository db) throws IOException, ServiceNotEnabledException, ServiceNotAuthorizedException Begin service.- Parameters:
req- requestdb- repository- Throws:
IOExceptionServiceNotEnabledExceptionServiceNotAuthorizedException
-
advertise
protected abstract void advertise(javax.servlet.http.HttpServletRequest req, RefAdvertiser.PacketLineOutRefAdvertiser pck) throws IOException, ServiceNotEnabledException, ServiceNotAuthorizedException Advertise.- Parameters:
req- requestpck-- Throws:
IOExceptionServiceNotEnabledExceptionServiceNotAuthorizedException
-
respond
protected void respond(javax.servlet.http.HttpServletRequest req, PacketLineOut pckOut, String serviceName) throws 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:
IOExceptionServiceNotEnabledExceptionServiceNotAuthorizedException
-