-
Notifications
You must be signed in to change notification settings - Fork 1
/
apis.js
79 lines (66 loc) · 1.78 KB
/
apis.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
const axios = require('axios')
var animal = {
shiba: "SHIBA",
cat: "CAT",
bird: "BIRD",
fox: "FOX",
dog: "DOG"
}
async function getAnimalImageUrl(animalInput) {
const animalType = animalInput.toUpperCase()
console.log("Looking for animal: " + animalInput)
if (animalType == animal.shiba) {
return getShibaImage()
} else if (animalType == animal.cat) {
return getCatImage()
} else if (animalType == animal.bird) {
return getBirdImage()
} else if (animalType == animal.fox) {
return getFoxImage()
} else if (animalType == animal.dog) {
return getDogImage()
} else {
console.error("Invalid animal input: " + animalInput)
return ""
}
}
async function getShibaImage() {
return getShibeOnlineImage("shibes")
}
async function getCatImage() {
return getShibeOnlineImage("cats")
}
async function getBirdImage() {
return getShibeOnlineImage("birds")
}
async function getShibeOnlineImage(param) {
var pictureUrl = ""
try {
const response = await axios.get("http://shibe.online/api/" + param)
pictureUrl = response.data[0]
} catch (error) {
console.error(error)
}
return pictureUrl
}
async function getFoxImage() {
var pictureUrl = ""
try {
const response = await axios.get("https://randomfox.ca/floof/")
pictureUrl = response.data.image
} catch (error) {
console.error(error)
}
return pictureUrl
}
async function getDogImage() {
var pictureUrl = ""
try {
const response = await axios.get("https://dog.ceo/api/breeds/image/random")
pictureUrl = response.data.message
} catch (error) {
console.error(error)
}
return pictureUrl
}
module.exports = { getAnimalImageUrl }