/* * Zed Attack Proxy (ZAP) and its related class files. * * ZAP is an HTTP/HTTPS proxy for assessing web application security. * * Copyright 2014 The ZAP Development Team * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.zaproxy.zap.model; import java.nio.file.Path; import java.nio.file.Paths; import org.parosproxy.paros.Constant; /** * Helper class with utility methods for ZAP {@code Session}s. * * @see org.parosproxy.paros.model.Session */ public final class SessionUtils { public static final String SESSION_EXTENSION = ".session"; private SessionUtils() { } public static Path getSessionPath(String session) { String normalisedSession = getNormalisedSessionName(session); Path sessionPath = Paths.get(normalisedSession); if (!sessionPath.isAbsolute()) { sessionPath = Paths.get(Constant.getZapHome(), Constant.FOLDER_SESSION_DEFAULT).resolve(sessionPath); } return sessionPath; } private static String getNormalisedSessionName(String session) { if (!session.endsWith(SESSION_EXTENSION)) { return session + SESSION_EXTENSION; } return session; } }