Imp: Do not accept requests on /api/shorturl/
POST endpoint untilshortUrlsCounter
is read from MongoDB
This commit is contained in:
parent
8072461ab2
commit
df02eafbd1
14
index.js
14
index.js
@ -32,21 +32,23 @@ const counterSchema = new mongoose.Schema({
|
|||||||
|
|
||||||
const Counter = mongoose.model("Counter", counterSchema);
|
const Counter = mongoose.model("Counter", counterSchema);
|
||||||
|
|
||||||
|
let shortUrlsCounterSet = false;
|
||||||
let shortUrlsCounter = 0;
|
let shortUrlsCounter = 0;
|
||||||
|
|
||||||
Counter.findOne({ name: "shortUrl" })
|
Counter.findOne({ name: "shortUrl" })
|
||||||
.then((counter) => {
|
.then((counter) => {
|
||||||
if (counter) {
|
if (counter) {
|
||||||
shortUrlsCounter = counter.seq;
|
|
||||||
console.log(`Old counter: ${counter}`);
|
console.log(`Old counter: ${counter}`);
|
||||||
|
shortUrlsCounter = counter.seq;
|
||||||
|
shortUrlsCounterSet = true;
|
||||||
} else {
|
} else {
|
||||||
const shortUrlsCounterModel = new Counter({ name: "shortUrl" });
|
const shortUrlsCounterModel = new Counter({ name: "shortUrl" });
|
||||||
shortUrlsCounterModel
|
shortUrlsCounterModel
|
||||||
.save()
|
.save()
|
||||||
.then((counter) => {
|
.then((counter) => {
|
||||||
if (counter) {
|
if (counter) {
|
||||||
shortUrlsCounter = counter.seq;
|
|
||||||
console.log(`New counter: ${counter}`);
|
console.log(`New counter: ${counter}`);
|
||||||
|
shortUrlsCounter = counter.seq;
|
||||||
|
shortUrlsCounterSet = true;
|
||||||
} else {
|
} else {
|
||||||
console.log(`Error: could not create a new counter`);
|
console.log(`Error: could not create a new counter`);
|
||||||
}
|
}
|
||||||
@ -68,6 +70,12 @@ app.use(express.urlencoded({ extended: false }));
|
|||||||
|
|
||||||
// Your first API endpoint
|
// Your first API endpoint
|
||||||
app.post("/api/shorturl/", (req, res) => {
|
app.post("/api/shorturl/", (req, res) => {
|
||||||
|
if (!shortUrlsCounterSet) {
|
||||||
|
res.status(503);
|
||||||
|
return res.send(
|
||||||
|
"Sorry, this API endpoint is not yet ready to handle requests!"
|
||||||
|
);
|
||||||
|
}
|
||||||
const original = req.body.url;
|
const original = req.body.url;
|
||||||
try {
|
try {
|
||||||
const hostname = new URL(original).hostname;
|
const hostname = new URL(original).hostname;
|
||||||
|
Loading…
Reference in New Issue
Block a user