/**
* Licensed to The Apereo Foundation under one or more contributor license
* agreements. See the NOTICE file distributed with this work for additional
* information regarding copyright ownership.
*
*
* The Apereo Foundation licenses this file to you under the Educational
* Community 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://opensource.org/licenses/ecl2.txt
*
* 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.opencastproject.urlsigning.common;
/**
* Represents a request for a streaming resource whose signed url must be validated.
*/
public class ResourceRequest {
public enum Status {
BadRequest, Forbidden, Gone, Ok
};
/** The query string parameter key of the organization used to request resource. */
public static final String ENCRYPTION_ID_KEY = "keyId";
/** The query string key representing the conditions to allow the resource to be seen. */
public static final String POLICY_KEY = "policy";
/** The query string key representing the encrypted policy. */
public static final String SIGNATURE_KEY = "signature";
/** The policy encoded in Base64 from the query string value. */
private String encodedPolicy;
/** The query string value that is an id to use to retrieve the encryption key from. */
private String encryptionKeyId;
/** The policy to determine if this resource should be allowed. */
private Policy policy;
/** A textual reason for why a request was rejected. */
private String rejectionReason = "";
/** The encrypted policy used to verify this is a valid request. */
private String signature;
/** The status of whether this resource should be allowed to be shown. */
private Status status = Status.Forbidden;
public String getEncodedPolicy() {
return encodedPolicy;
}
public void setEncodedPolicy(String encodedPolicy) {
this.encodedPolicy = encodedPolicy;
}
public String getEncryptionKeyId() {
return encryptionKeyId;
}
public void setEncryptionKeyId(String encryptionKeyId) {
this.encryptionKeyId = encryptionKeyId;
}
public Policy getPolicy() {
return policy;
}
public void setPolicy(Policy policy) {
this.policy = policy;
}
public String getRejectionReason() {
return rejectionReason;
}
public void setRejectionReason(String rejectionReason) {
this.rejectionReason = rejectionReason;
}
public String getSignature() {
return signature;
}
public void setSignature(String signature) {
this.signature = signature;
}
public Status getStatus() {
return status;
}
public void setStatus(Status status) {
this.status = status;
}
}