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 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, 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)
-
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:
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 IOException, javax.servlet.ServletException - Specified by:
doFilter
in interfacejavax.servlet.Filter
- Throws:
IOException
javax.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:
IOException
ServiceNotEnabledException
ServiceNotAuthorizedException
-
advertise
protected abstract void advertise(javax.servlet.http.HttpServletRequest req, RefAdvertiser.PacketLineOutRefAdvertiser pck) throws IOException, ServiceNotEnabledException, ServiceNotAuthorizedException Advertise.- Parameters:
req
- requestpck
-- Throws:
IOException
ServiceNotEnabledException
ServiceNotAuthorizedException
-
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:
IOException
ServiceNotEnabledException
ServiceNotAuthorizedException
-