001/*-
002 * #%L
003 * HAPI FHIR - Core Library
004 * %%
005 * Copyright (C) 2014 - 2025 Smile CDR, Inc.
006 * %%
007 * Licensed under the Apache License, Version 2.0 (the "License");
008 * you may not use this file except in compliance with the License.
009 * You may obtain a copy of the License at
010 *
011 *      http://www.apache.org/licenses/LICENSE-2.0
012 *
013 * Unless required by applicable law or agreed to in writing, software
014 * distributed under the License is distributed on an "AS IS" BASIS,
015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
016 * See the License for the specific language governing permissions and
017 * limitations under the License.
018 * #L%
019 */
020package ca.uhn.fhir.rest.gclient;
021
022import org.checkerframework.checker.nullness.qual.NonNull;
023
024import java.io.InputStream;
025import java.util.List;
026import java.util.Map;
027
028/**
029 * Response to a Raw HTTP call done through IGenericClient.
030 */
031public interface IEntityResult {
032
033        String getMimeType();
034
035        @NonNull
036        /**
037         * Gets the response body as an InputStream.
038         *
039         * <p><strong>Warning:</strong> The returned stream can only be read once.
040         * Subsequent calls to this method will return the same exhausted stream.
041         * Consider copying the content to a byte array if multiple reads are needed.</p>
042         *
043         * @return The response body as an InputStream (single-use only)
044         */
045        InputStream getInputStream();
046
047        int getStatusCode();
048
049        @NonNull
050        Map<String, List<String>> getHeaders();
051}