fortune-api

command module
v0.0.0-...-cef2e6c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 28, 2020 License: MIT Imports: 11 Imported by: 0

README

🔮 fortune-api 🔮

forthebadge

Codacy Badge Go Report Card

Description

A RESTful API for the classic fortune command-line utility (in the fortune-mod package). Every query will return a random fortune! These fortunes are originally from the fortune-mod repository, from the original command line utility.

It is hosted at https://fortuneapi.herokuapp.com/.

Adding Fortunes

To add a new fortune, go to the datfiles directory, and choose the correspoding file to contribute to. If none of the files fit, feel free to make your own! As with the original, fortunes deemed to be not-so-wholesome should be confined to the datfiles/off directory.

Simply type your fortune, formatted as you wish, and then follow it with a newline containing a %. That's all!

Running Locally

To run the API locally, ensure that you have Go 1.7+ installed.

The only dependency needed is mux, which can be installed by running:

$ go get github.com/gorilla/mux

In the repository folder, use the following to run the API server:

$ go run main.go

The API is hosted at https://fortuneapi.herokuapp.com/, but you can change this in the main() function in the main.go file to run it locally.

I recommend changing it as follows:

Replace these lines in main():

	port := ":" + os.Getenv("PORT")
	log.Fatal(http.ListenAndServe(port, router))

With this line:

    log.Fatal(http.ListenAndServe(":8080", router))

Now you can access the API at localhost:8080!

Endpoints

No additional path is needed if you would like a completely random fortune.

You can get a fortune from a specific genre at https://fortuneapi.herokuapp.com/<genre>, replacing 'genre' with the desired datfile name. The genre must be the exact name of one of the files in the datfiles directory. For example, https://fortuneapi.herokuapp.com/computers could give you an output such as:

"We are experiencing system trouble -- do not adjust your terminal.\n"

Note: the output is always random, so even with the same URL, the output will likely vary with every query

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL