| /* |
| * Copyright (C) 2018, 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 |
| * https://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| package org.eclipse.jgit.transport; |
| |
| /** |
| * Hook to allow callers to be notified on Git protocol v2 requests. |
| * |
| * @see UploadPack#setProtocolV2Hook(ProtocolV2Hook) |
| * @since 5.1 |
| */ |
| public interface ProtocolV2Hook { |
| /** |
| * The default hook implementation that does nothing. |
| */ |
| static ProtocolV2Hook DEFAULT = new ProtocolV2Hook() { |
| // No override. |
| }; |
| |
| /** |
| * @param req |
| * the capabilities request |
| * @throws ServiceMayNotContinueException |
| * abort; the message will be sent to the user |
| * @since 5.1 |
| */ |
| default void onCapabilities(CapabilitiesV2Request req) |
| throws ServiceMayNotContinueException { |
| // Do nothing by default. |
| } |
| |
| /** |
| * @param req |
| * the ls-refs request |
| * @throws ServiceMayNotContinueException |
| * abort; the message will be sent to the user |
| * @since 5.1 |
| */ |
| default void onLsRefs(LsRefsV2Request req) |
| throws ServiceMayNotContinueException { |
| // Do nothing by default. |
| } |
| |
| /** |
| * @param req the fetch request |
| * @throws ServiceMayNotContinueException abort; the message will be sent to the user |
| */ |
| default void onFetch(FetchV2Request req) |
| throws ServiceMayNotContinueException { |
| // Do nothing by default |
| } |
| |
| /** |
| * @param req |
| * the object-info request |
| * @throws ServiceMayNotContinueException |
| * abort; the message will be sent to the user |
| * @since 5.13 |
| */ |
| default void onObjectInfo(ObjectInfoRequest req) |
| throws ServiceMayNotContinueException { |
| // Do nothing by default |
| } |
| } |