Filter chat messages by allowed servers defined in application.properties.
This commit is contained in:
parent
0233958118
commit
7a360d1a26
|
|
@ -9,6 +9,7 @@ import com.alttd.altitudeweb.services.chat.event_publisher.EventPublisher;
|
|||
import com.alttd.altitudeweb.setup.Connection;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
|
|
@ -25,6 +26,8 @@ import java.util.stream.Collectors;
|
|||
public class ChatService {
|
||||
|
||||
private static final Duration MAX_AGE = Duration.ofHours(1);
|
||||
@Value("${chat.allowed-servers}")
|
||||
private String[] allowedServers;
|
||||
private final NavigableMap<Instant, ChatMessage> chatMessages = new TreeMap<>();
|
||||
private final EventPublisher eventPublisher;
|
||||
|
||||
|
|
@ -70,6 +73,7 @@ public class ChatService {
|
|||
.collect(Collectors.joining(",", "[", "]"));
|
||||
String jsonMessageList = chatMessageList.stream()
|
||||
.filter(ChatMessage::isNotBlocked)
|
||||
.filter(chatMessage -> Arrays.asList(allowedServers).contains(chatMessage.getServer()))
|
||||
.map(ChatMessageMapper::toJson)
|
||||
.collect(Collectors.joining(",", "[", "]"));
|
||||
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ spring.mail.properties.mail.smtp.auth=true
|
|||
spring.mail.properties.mail.smtp.ssl.enable=true
|
||||
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
|
||||
chat.allowed-ip=${ALLOWED_IP:10.0.0.0/24}
|
||||
chat.allowed-servers=${ALLOWED_SERVERS:bayou,lobby,creative}
|
||||
management.endpoints.web.exposure.include=mappings
|
||||
server.forward-headers-strategy=native
|
||||
server.tomcat.remoteip.remote-ip-header=CF-Connecting-IP
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user