famous-quotes
v1.0.3
Published
An Express wrapper for the "Random Famous Quotes" API found on Mashape.
Downloads
7
Maintainers
Readme
famous-quotes
An Express wrapper for the "Random Famous Quotes" API found on Mashape. Link: https://market.mashape.com/andruxnet/random-famous-quotes
The response body of the GET
request to the endpoint will be an object with a quote
and author
property. See examples for more details.
You may use this for a "quote of the day", at least, that's what I use it for. Or perhaps you could have a button that generates a random quote when clicked. Keep in mind that there are likely rate limits for the API; this wrapper does not limit the number of requests you can make, so please do your own research if you plan to do something request intensive.
Usage
getQuoteMaker(key, options)
key
(String) The secret key provided by Mashapeoptions
(Object)default
(Object) The default quote to be shown, if the request fails, for some reason. Below are the relevant properties.quote
author
- Returns (Object) Returns a quoteMaker object (see below).
quoteMaker.getRouter()
- Returns (Router) Returns an Express router to be
use
d for middleware.
quoteMaker.genQuote(options)
options
(Object) Properties below.type
(String) The quote type. There are two options, the default,'famous'
, and'movies'
.count
Integer The number of quotes to be returned, with a maximum limit of 100. Defaults to 1.
quoteMaker.getGenerator(refresh, options)
refresh
(Integer) The amount of delay, in milliseconds, between each.genQuote()
call. Defaults to one day.options
(Object) The options object to be passed to.genQuote()
.- Returns (setInterval ID) Returns the setInterval ID of the interval that will call
.genQuote()
every X milliseconds;
Example
const DEFAULT_QUOTE = {
quote: 'Don\'t let schooling interfere with your education.',
author: 'Mark Twain'
};
const MASHAPE_KEY = 'SOME_KEY';
const express = require('express');
const quoteMaker = require('famous-quotes')(MASHAPE_KEY, DEFAULT_QUOTE);
const app = express();
// Regenerate a new quote every hour
quoteMaker.getGenerator(1000 * 60 * 60);
app.use('myendpoint', quoteMaker.getRouter());
And on client-side... (I'm using Angular, and omitted some steps; consider it an exercise for the reader to fill in the steps ;))
$http({
method: 'GET',
url: 'myendpoint'
}).then(function(res) {
console.log('Quote: ' + res.data.quote);
console.log('Author: ' + res.data.author);
}, function(err) {
console.log(err);
});