Skip to content

Commit d3c0e67

Browse files
authored
add ttl setting (#161)
* add ttl setting * sample * linting
1 parent 15afb88 commit d3c0e67

File tree

6 files changed

+36
-13
lines changed

6 files changed

+36
-13
lines changed

.env.sample

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
MOCKBIN_PORT=8080
22
MOCKBIN_QUIET=false
33
MOCKBIN_REDIS=redis://127.0.0.1:6379
4+
MOCKBIN_REDIS_EXPIRE_SECONDS=1000000000

docker-compose.yml

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ services:
33
build: .
44
environment:
55
MOCKBIN_REDIS: "//redis:6379"
6+
MOCKBIN_REDIS_EXPIRE_SECONDS: 1000000000
67
links:
78
- redis
89
ports:

lib/routes/bins/create.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,12 @@ module.exports = (client) => (req, res, next) => {
4646
.then(function () {
4747
const id = uuid.v4();
4848

49-
client.set(`bin:${id}`, JSON.stringify(mock));
49+
client.set(
50+
`bin:${id}`,
51+
JSON.stringify(mock),
52+
"EX",
53+
process.env.MOCKBIN_REDIS_EXPIRE_SECONDS,
54+
);
5055

5156
res.view = "redirect";
5257
res.status(201).location(util.format("/bin/%s", id)).body = id;

lib/routes/bins/update.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,12 @@ module.exports = (client) => (req, res, next) => {
3939
validate
4040
.response(mock)
4141
.then(function () {
42-
client.set(`bin:${compoundId}`, JSON.stringify(mock));
42+
client.set(
43+
`bin:${compoundId}`,
44+
JSON.stringify(mock),
45+
"EX",
46+
process.env.MOCKBIN_REDIS_EXPIRE_SECONDS,
47+
);
4348

4449
res.view = "redirect";
4550
res.status(200).location(`/bin/${compoundId}`).body = id;

server.js

+7-1
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,16 @@ const options = {
77
port: process.env.MOCKBIN_PORT,
88
quiet: process.env.MOCKBIN_QUIET,
99
redis: process.env.MOCKBIN_REDIS,
10+
redisExpiry: process.env.MOCKBIN_REDIS_EXPIRE_SECONDS,
1011
};
1112

1213
app(options, () => {
13-
console.info("starting server", options.port, options.redis);
14+
console.info(
15+
"starting server",
16+
options.port,
17+
options.redis,
18+
options.redisExpiry,
19+
);
1420
if (!options.port || !options.redis) {
1521
console.warn(`
1622
------------------------

src/index.js

+15-10
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,21 @@ module.exports = (options, done) => {
3939
// magic starts here
4040
app.use("/", router(options));
4141
app.use("/healthcheck", (req, res) => {
42-
res.set({ 'Content-Type': 'application/json; charset=utf-8' })
43-
res.send(JSON.stringify({
44-
name: process.env.npm_package_name,
45-
version: process.env.npm_package_version,
46-
uptimeSeconds: process.uptime(),
47-
memory: process.memoryUsage(),
48-
pid: process.pid,
49-
versions: process.versions,
50-
}, null, 2));
51-
42+
res.set({ "Content-Type": "application/json; charset=utf-8" });
43+
res.send(
44+
JSON.stringify(
45+
{
46+
name: process.env.npm_package_name,
47+
version: process.env.npm_package_version,
48+
uptimeSeconds: process.uptime(),
49+
memory: process.memoryUsage(),
50+
pid: process.pid,
51+
versions: process.versions,
52+
},
53+
null,
54+
2,
55+
),
56+
);
5257
});
5358

5459
app.listen(options.port);

0 commit comments

Comments
 (0)