mirror of https://github.com/OpenVidu/openvidu.git
openvidu-server: new OPENVIDU_PRO_AWS_S3_HEADERS property
parent
183f699eab
commit
bd3b0f5b66
|
@ -168,6 +168,13 @@ OPENVIDU_PRO_CLUSTER_LOAD_STRATEGY=streams
|
||||||
# if OPENVIDU_PRO_RECORDING_STORAGE=s3
|
# if OPENVIDU_PRO_RECORDING_STORAGE=s3
|
||||||
#OPENVIDU_PRO_AWS_S3_BUCKET=
|
#OPENVIDU_PRO_AWS_S3_BUCKET=
|
||||||
|
|
||||||
|
# If OPENVIDU_PRO_RECORDING_STORAGE=s3, the collection of HTTP header values that the internal AWS client will use during
|
||||||
|
# the upload process. The property is a key-value map of strings, following the format of a JSON object. For example, for applying
|
||||||
|
# server-side encryption with AES-256, this header is mandatory: {"x-amz-server-side-encryption":"AES256"}.
|
||||||
|
# The list of available headers can be found here: https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/Headers.html
|
||||||
|
# This property is only taken into account if OPENVIDU_PRO_RECORDING_STORAGE=s3
|
||||||
|
#OPENVIDU_PRO_AWS_S3_HEADERS=
|
||||||
|
|
||||||
# If you're instance has a role which has access to read
|
# If you're instance has a role which has access to read
|
||||||
# and write into the s3 bucket, you don't need this parameter
|
# and write into the s3 bucket, you don't need this parameter
|
||||||
# OPENVIDU_PRO_AWS_ACCESS_KEY=
|
# OPENVIDU_PRO_AWS_ACCESS_KEY=
|
||||||
|
|
|
@ -34,6 +34,7 @@ import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
|
||||||
|
@ -51,6 +52,8 @@ import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.JsonArray;
|
import com.google.gson.JsonArray;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
import com.google.gson.JsonSyntaxException;
|
import com.google.gson.JsonSyntaxException;
|
||||||
|
|
||||||
import io.openvidu.java.client.OpenViduRole;
|
import io.openvidu.java.client.OpenViduRole;
|
||||||
|
@ -906,6 +909,25 @@ public class OpenviduConfig {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected Map<String, String> asOptionalStringMap(String property) {
|
||||||
|
Map<String, String> map = new HashMap<>();
|
||||||
|
String str = getValue(property);
|
||||||
|
if (str != null && !str.isEmpty()) {
|
||||||
|
try {
|
||||||
|
Gson gson = new Gson();
|
||||||
|
JsonObject jsonObject = gson.fromJson(str, JsonObject.class);
|
||||||
|
for (Entry<String, JsonElement> entry : jsonObject.entrySet()) {
|
||||||
|
map.put(entry.getKey(), entry.getValue().getAsString());
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
} catch (JsonSyntaxException e) {
|
||||||
|
addError(property, "Is not a valid map of strings. " + e.getMessage());
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
public URI checkWebsocketUri(String uri) throws Exception {
|
public URI checkWebsocketUri(String uri) throws Exception {
|
||||||
try {
|
try {
|
||||||
if (!StringUtils.startsWithAny(uri, "ws://", "wss://")) {
|
if (!StringUtils.startsWithAny(uri, "ws://", "wss://")) {
|
||||||
|
|
Loading…
Reference in New Issue