Skip to content

Commit a6ad7a1

Browse files
authored
Merge pull request #90 from diogo405/header-function
refactor: create a function to set default headers and avoid code duplication
2 parents 481d1cf + 5ace19e commit a6ad7a1

File tree

3 files changed

+17
-26
lines changed

3 files changed

+17
-26
lines changed

routes/dutch.js

+3-9
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,12 @@ const router = express.Router();
33
import { pronounce } from "node-pronounce";
44
import { readFileSync } from "fs";
55
import { randomArrayItem } from "random-array-item";
6+
import { setDefaultHeaders } from "../utils/headers.js";
67
var dutchRandomWord = [];
78
const dutchWordsData = JSON.parse(readFileSync(new URL("../data/dutch/words.json", import.meta.url)));
89

910
router.get("/", function (req, res) {
10-
res.header("Access-Control-Allow-Origin", "*");
11-
res.header('Access-Control-Allow-Headers', 'Access-Control-Allow-Headers,Content-Type,Access-Control-Allow-Methods, Authorization, X-Requested-With');
12-
res.header("Access-Control-Allow-Methods", "GET");
13-
res.header("X-Frame-Options", "DENY");
14-
res.header("X-XSS-Protection", "1; mode=block");
15-
res.header("X-Content-Type-Options", "nosniff");
16-
res.header("Strict-Transport-Security", "max-age=63072000");
17-
res.setHeader("Content-Type", "application/json");
11+
setDefaultHeaders(res);
1812

1913
if (dutchRandomWord.length > 0) {
2014
dutchRandomWord = [];
@@ -38,4 +32,4 @@ router.get("/", function (req, res) {
3832
res.send(JSON.stringify(dutchRandomWord, null, 2));
3933
});
4034

41-
export default router;
35+
export default router;

routes/en.js

+4-17
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,13 @@ import axios from "axios";
44
import * as cheerio from "cheerio";
55
import { pronounce } from "node-pronounce";
66
import randomUseragent from "random-useragent";
7+
import { setDefaultHeaders } from "../utils/headers.js";
78
const rua = randomUseragent.getRandom();
89
var wordOfDay = [];
910
const baseUrl = 'https://randomword.com';
1011

1112
router.get("/", function (req, res) {
12-
res.header("Access-Control-Allow-Origin", "*");
13-
res.header('Access-Control-Allow-Headers', 'Access-Control-Allow-Headers,Content-Type,Access-Control-Allow-Methods, Authorization, X-Requested-With');
14-
res.header("Access-Control-Allow-Methods", "GET");
15-
res.header("X-Frame-Options", "DENY");
16-
res.header("X-XSS-Protection", "1; mode=block");
17-
res.header("X-Content-Type-Options", "nosniff");
18-
res.header("Strict-Transport-Security", "max-age=63072000");
19-
res.setHeader("Content-Type", "application/json");
13+
setDefaultHeaders(res);
2014

2115
axios({
2216
method: "GET",
@@ -70,14 +64,7 @@ router.get("/", function (req, res) {
7064
});
7165

7266
router.get("/:pos", function (req, res) {
73-
res.header("Access-Control-Allow-Origin", "*");
74-
res.header('Access-Control-Allow-Headers', 'Access-Control-Allow-Headers,Content-Type,Access-Control-Allow-Methods, Authorization, X-Requested-With');
75-
res.header("Access-Control-Allow-Methods", "GET");
76-
res.header("X-Frame-Options", "DENY");
77-
res.header("X-XSS-Protection", "1; mode=block");
78-
res.header("X-Content-Type-Options", "nosniff");
79-
res.header("Strict-Transport-Security", "max-age=63072000");
80-
res.setHeader("Content-Type", "application/json");
67+
setDefaultHeaders(res);
8168

8269
const partOfSpeech = req.params.pos;
8370

@@ -132,4 +119,4 @@ router.get("/:pos", function (req, res) {
132119
});
133120
});
134121

135-
export default router;
122+
export default router;

utils/headers.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
export const setDefaultHeaders = (response) => {
2+
response.header("Access-Control-Allow-Origin", "*");
3+
response.header('Access-Control-Allow-Headers', 'Access-Control-Allow-Headers,Content-Type,Access-Control-Allow-Methods, Authorization, X-Requested-With');
4+
response.header("Access-Control-Allow-Methods", "GET");
5+
response.header("X-Frame-Options", "DENY");
6+
response.header("X-XSS-Protection", "1; mode=block");
7+
response.header("X-Content-Type-Options", "nosniff");
8+
response.header("Strict-Transport-Security", "max-age=63072000");
9+
response.setHeader("Content-Type", "application/json");
10+
}

0 commit comments

Comments
 (0)