/*
 * Copyright (c) 2021 WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
 *
 * WSO2 Inc. licenses this file to you 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.wso2.carbon.apimgt.common.gateway.dto;

import java.io.InputStream;
import java.util.Map;

/**
 * Representation of Extension Response Information received after processing the Request/Response.
 */
public class ExtensionResponseDTO {

    // Response Status type. Should be a value of ExtensionResponseStatus enum.
    String responseStatus;
    // HTTP status code to set
    int statusCode;
    // Payload to set
    InputStream payload;
    // Transport headers to set
    Map<String, String> headers;
    // customProperty map to set
    Map<String, Object> customProperty;

    public int getStatusCode() {

        return statusCode;
    }

    public void setStatusCode(int statusCode) {

        this.statusCode = statusCode;
    }

    public InputStream getPayload() {

        return payload;
    }

    public void setPayload(InputStream payload) {

        this.payload = payload;
    }

    public Map<String, String> getHeaders() {

        return headers;
    }

    public void setHeaders(Map<String, String> headers) {

        this.headers = headers;
    }

    public String getResponseStatus() {

        return responseStatus;
    }

    public void setResponseStatus(String responseStatus) {

        this.responseStatus = responseStatus;
    }

    public Map<String, Object> getCustomProperty() {

        return customProperty;
    }

    public void setCustomProperty(Map<String, Object> customProperty) {

        this.customProperty = customProperty;
    }
}

