1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*
- * Copyright (c) 2019, Google LLC and others
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Distribution License v. 1.0 which is available at
- * http://www.eclipse.org/org/documents/edl-v10.php.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
- package org.eclipse.jgit.http.server;
-
- import java.io.IOException;
-
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
-
- import org.eclipse.jgit.transport.ServiceMayNotContinueException;
- import org.eclipse.jgit.transport.UploadPack;
-
- /**
- * Handle git-upload-pack errors.
- *
- * <p>
- * This is an entry point for customizing an error handler for git-upload-pack.
- * Right before calling {@link UploadPack#uploadWithExceptionPropagation}, JGit
- * will call this handler if specified through {@link GitFilter}. The
- * implementation of this handler is responsible for calling
- * {@link UploadPackRunnable} and handling exceptions for clients.
- *
- * <p>
- * If a custom handler is not specified, JGit will use the default error
- * handler.
- *
- * @since 5.6
- */
- public interface UploadPackErrorHandler {
- /**
- * @param req
- * The HTTP request
- * @param rsp
- * The HTTP response
- * @param r
- * A continuation that handles a git-upload-pack request.
- * @throws IOException
- */
- void upload(HttpServletRequest req, HttpServletResponse rsp,
- UploadPackRunnable r) throws IOException;
-
- /** Process a git-upload-pack request. */
- public interface UploadPackRunnable {
- /**
- * See {@link UploadPack#uploadWithExceptionPropagation}.
- *
- * @throws ServiceMayNotContinueException
- * @throws IOException
- */
- void upload() throws ServiceMayNotContinueException, IOException;
- }
- }
|