Skip to content

Commit 3e4aa03

Browse files
committed
refactor: propagate constants from MediaType and HttpHeaders classes.
1 parent a6329ce commit 3e4aa03

File tree

9 files changed

+33
-18
lines changed

9 files changed

+33
-18
lines changed

src/main/java/ru/mystamps/web/config/ServicesConfig.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.springframework.context.annotation.Configuration;
2424
import org.springframework.context.annotation.Import;
2525
import org.springframework.core.env.Environment;
26+
import org.springframework.http.MediaType;
2627
import ru.mystamps.web.feature.account.AccountConfig;
2728
import ru.mystamps.web.feature.category.CategoryConfig;
2829
import ru.mystamps.web.feature.collection.CollectionConfig;
@@ -64,7 +65,10 @@ public DownloaderService getImageDownloaderService() {
6465
return new TimedDownloaderService(
6566
LoggerFactory.getLogger(TimedDownloaderService.class),
6667
new HttpURLConnectionDownloaderService(
67-
new String[]{"image/jpeg", "image/png"},
68+
new String[]{
69+
MediaType.IMAGE_JPEG_VALUE,
70+
MediaType.IMAGE_PNG_VALUE
71+
},
6872
env.getRequiredProperty("app.downloader.timeout", Integer.class)
6973
)
7074
);
@@ -75,7 +79,11 @@ public DownloaderService getSeriesDownloaderService() {
7579
return new TimedDownloaderService(
7680
LoggerFactory.getLogger(TimedDownloaderService.class),
7781
new HttpURLConnectionDownloaderService(
78-
new String[]{"text/html", "image/jpeg", "image/png"},
82+
new String[]{
83+
MediaType.TEXT_HTML_VALUE,
84+
MediaType.IMAGE_JPEG_VALUE,
85+
MediaType.IMAGE_PNG_VALUE
86+
},
7987
env.getRequiredProperty("app.downloader.timeout", Integer.class)
8088
)
8189
);

src/main/java/ru/mystamps/web/feature/series/HttpURLConnectionDownloaderService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.apache.commons.lang3.StringUtils;
2323
import org.slf4j.Logger;
2424
import org.slf4j.LoggerFactory;
25+
import org.springframework.http.HttpHeaders;
2526
import org.springframework.security.access.prepost.PreAuthorize;
2627
import org.springframework.util.StreamUtils;
2728
import ru.mystamps.web.feature.series.DownloadResult.Code;
@@ -131,7 +132,7 @@ private static HttpURLConnection openConnection(URL url) throws IOException {
131132
private static void configureUserAgent(URLConnection conn) {
132133
// FIXME: make it configurable
133134
conn.setRequestProperty(
134-
"User-Agent",
135+
HttpHeaders.USER_AGENT,
135136
"Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:46.0) Gecko/20100101 Firefox/46.0"
136137
);
137138
}

src/main/java/ru/mystamps/web/feature/site/CspController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.apache.commons.lang3.StringUtils;
2121
import org.slf4j.Logger;
2222
import org.slf4j.LoggerFactory;
23+
import org.springframework.http.HttpHeaders;
2324
import org.springframework.http.HttpStatus;
2425
import org.springframework.web.bind.annotation.PostMapping;
2526
import org.springframework.web.bind.annotation.RequestBody;
@@ -45,7 +46,7 @@ public class CspController {
4546
public void handleReport(
4647
@RequestBody String body,
4748
HttpServletRequest request,
48-
@RequestHeader(name = "user-agent", defaultValue = UNKNOWN) String userAgent) {
49+
@RequestHeader(name = HttpHeaders.USER_AGENT, defaultValue = UNKNOWN) String userAgent) {
4950

5051
String ip = StringUtils.defaultString(request.getRemoteAddr(), UNKNOWN);
5152
LOG.warn("CSP report from IP: {}, user agent: {}", ip, userAgent);

src/main/java/ru/mystamps/web/feature/site/ErrorController.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import lombok.RequiredArgsConstructor;
2121
import org.slf4j.Logger;
2222
import org.slf4j.LoggerFactory;
23+
import org.springframework.http.HttpHeaders;
2324
import org.springframework.stereotype.Controller;
2425
import org.springframework.web.bind.annotation.RequestAttribute;
2526
import org.springframework.web.bind.annotation.RequestHeader;
@@ -42,8 +43,8 @@ public String notFound(
4243
@CurrentUser Integer currentUserId,
4344
// CheckStyle: ignore LineLength for next 1 line
4445
@RequestAttribute(name = RequestDispatcher.ERROR_REQUEST_URI, required = false) String page,
45-
@RequestHeader(name = "referer", required = false) String referer,
46-
@RequestHeader(name = "user-agent", required = false) String agent) {
46+
@RequestHeader(name = HttpHeaders.REFERER, required = false) String referer,
47+
@RequestHeader(name = HttpHeaders.USER_AGENT, required = false) String agent) {
4748

4849
// FIXME: sanitize all user's values (#60)
4950
String ip = request.getRemoteAddr();

src/main/java/ru/mystamps/web/feature/site/RobotsTxtController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import org.slf4j.Logger;
2121
import org.slf4j.LoggerFactory;
22+
import org.springframework.http.MediaType;
2223
import org.springframework.stereotype.Controller;
2324
import org.springframework.web.bind.annotation.GetMapping;
2425
import ru.mystamps.web.feature.account.AccountUrl;
@@ -37,7 +38,7 @@ public class RobotsTxtController {
3738
@GetMapping(SiteUrl.ROBOTS_TXT)
3839
@SuppressWarnings("PMD.AvoidDuplicateLiterals")
3940
public void getRobotsText(HttpServletResponse response) {
40-
response.setContentType("text/plain");
41+
response.setContentType(MediaType.TEXT_PLAIN_VALUE);
4142
response.setCharacterEncoding("UTF-8");
4243

4344
try {

src/main/java/ru/mystamps/web/feature/site/SiteServiceImpl.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.apache.commons.lang3.StringUtils;
2222
import org.apache.commons.lang3.Validate;
2323
import org.slf4j.Logger;
24+
import org.springframework.http.HttpHeaders;
2425
import org.springframework.scheduling.annotation.Async;
2526
import org.springframework.transaction.annotation.Transactional;
2627
import ru.mystamps.web.feature.site.SiteDb.SuspiciousActivity;
@@ -97,8 +98,8 @@ public void logAboutMissingCsrfToken(HttpServletRequest request) {
9798
request.getMethod(),
9899
SecurityContextUtils.getUserId(),
99100
request.getRemoteAddr(),
100-
request.getHeader("referer"),
101-
request.getHeader("user-agent"),
101+
request.getHeader(HttpHeaders.REFERER),
102+
request.getHeader(HttpHeaders.USER_AGENT),
102103
new Date()
103104
);
104105

@@ -117,8 +118,8 @@ public void logAboutInvalidCsrfToken(HttpServletRequest request) {
117118
request.getMethod(),
118119
SecurityContextUtils.getUserId(),
119120
request.getRemoteAddr(),
120-
request.getHeader("referer"),
121-
request.getHeader("user-agent"),
121+
request.getHeader(HttpHeaders.REFERER),
122+
request.getHeader(HttpHeaders.USER_AGENT),
122123
new Date()
123124
);
124125

src/main/java/ru/mystamps/web/feature/site/SitemapController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import lombok.RequiredArgsConstructor;
2121
import org.slf4j.Logger;
2222
import org.slf4j.LoggerFactory;
23+
import org.springframework.http.MediaType;
2324
import org.springframework.stereotype.Controller;
2425
import org.springframework.web.bind.annotation.GetMapping;
2526
import ru.mystamps.web.feature.series.SeriesService;
@@ -46,7 +47,7 @@ public class SitemapController {
4647

4748
@GetMapping(SiteUrl.SITEMAP_XML)
4849
public void getSitemapXml(HttpServletResponse response) {
49-
response.setContentType("application/xml");
50+
response.setContentType(MediaType.APPLICATION_XML_VALUE);
5051
response.setCharacterEncoding("UTF-8");
5152

5253
DateFormat dateFormatter = new SimpleDateFormat(DATE_FORMAT, Locale.ENGLISH);

src/main/java/ru/mystamps/web/support/beanvalidation/ImageFileValidator.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@
2828
import java.io.InputStream;
2929
import java.util.Arrays;
3030

31+
import static org.springframework.http.MediaType.IMAGE_JPEG_VALUE;
32+
import static org.springframework.http.MediaType.IMAGE_PNG_VALUE;
33+
3134
public class ImageFileValidator implements ConstraintValidator<ImageFile, MultipartFile> {
3235

3336
private static final Logger LOG = LoggerFactory.getLogger(ImageFileValidator.class);
3437

35-
private static final String JPEG_CONTENT_TYPE = "image/jpeg";
36-
private static final String PNG_CONTENT_TYPE = "image/png";
37-
3838
// see https://en.wikipedia.org/wiki/JPEG#Syntax_and_structure
3939
// CheckStyle: ignore NoWhitespaceAfterCheck for next 3 lines
4040
private static final byte[][] JPEG_SIGNATURES = {
@@ -111,7 +111,7 @@ public boolean isValid(MultipartFile file, ConstraintValidatorContext ctx) {
111111
}
112112

113113
String contentType = file.getContentType();
114-
if (!StringUtils.equalsAny(contentType, PNG_CONTENT_TYPE, JPEG_CONTENT_TYPE)) {
114+
if (!StringUtils.equalsAny(contentType, IMAGE_PNG_VALUE, IMAGE_JPEG_VALUE)) {
115115
LOG.debug("Reject file with content type '{}'", contentType);
116116
return false;
117117
}

src/main/java/ru/mystamps/web/support/spring/security/AuthenticationFailureListener.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.slf4j.Logger;
2222
import org.slf4j.LoggerFactory;
2323
import org.springframework.context.ApplicationListener;
24+
import org.springframework.http.HttpHeaders;
2425
import org.springframework.security.authentication.event.AuthenticationFailureBadCredentialsEvent;
2526
import org.springframework.web.context.request.RequestContextHolder;
2627
import org.springframework.web.context.request.ServletRequestAttributes;
@@ -50,8 +51,8 @@ public void onApplicationEvent(AuthenticationFailureBadCredentialsEvent event) {
5051
String method = request.getMethod();
5152
String page = request.getRequestURI();
5253
String ip = request.getRemoteAddr();
53-
String referer = request.getHeader("referer");
54-
String agent = request.getHeader("user-agent");
54+
String referer = request.getHeader(HttpHeaders.REFERER);
55+
String agent = request.getHeader(HttpHeaders.USER_AGENT);
5556
Date date = new Date(event.getTimestamp());
5657

5758
siteService.logAboutFailedAuthentication(page, method, null, ip, referer, agent, date);

0 commit comments

Comments
 (0)