001package ca.uhn.fhir.rest.client.interceptor;
002
003/*-
004 * #%L
005 * HAPI FHIR - Client Framework
006 * %%
007 * Copyright (C) 2014 - 2019 University Health Network
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 * 
013 *      http://www.apache.org/licenses/LICENSE-2.0
014 * 
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023import ca.uhn.fhir.rest.api.Constants;
024import ca.uhn.fhir.rest.client.api.*;
025
026/**
027 * HTTP interceptor to be used for adding Cookie to requests.
028 * <p>
029 * This interceptor adds a header resembling the following:<br>
030 * &nbsp;&nbsp;&nbsp;<code>Cookie: [key]=[value]</code><br>
031 * </p>
032 */
033
034public class CookieInterceptor implements IClientInterceptor {
035        private final String sessionCookie;
036
037        public CookieInterceptor(String sessionCookie) {
038                this.sessionCookie = sessionCookie;
039        }
040
041        @Override
042        public void interceptRequest(IHttpRequest theRequest) {
043                theRequest.addHeader(Constants.HEADER_COOKIE, sessionCookie); //$NON-NLS-1$
044        }
045
046        @Override
047        public void interceptResponse(IHttpResponse theResponse) {
048                // nothing
049        }
050}