Initial Commit; Initial Documentation
This commit is contained in:
commit
80fc8ec6cb
9
.gitignore
vendored
Executable file
9
.gitignore
vendored
Executable file
@ -0,0 +1,9 @@
|
||||
#ignore all .o files
|
||||
src/**/*.o
|
||||
|
||||
#ignore all swp files
|
||||
**/*.swp
|
||||
|
||||
#ignore all executables, but still keep the bin folder
|
||||
bin/*
|
||||
!bin/.gitkeep
|
82
DOCUMENTATION.md
Normal file
82
DOCUMENTATION.md
Normal file
@ -0,0 +1,82 @@
|
||||
DOCUMENATION
|
||||
============
|
||||
|
||||
The following is the listing of all supported routes and methods by the API.
|
||||
The API is broken down into the different actions
|
||||
|
||||
Custom headers
|
||||
--------------
|
||||
|
||||
When submitting a GET request to the `/proc` endpoints,
|
||||
you can specify the `Accept:` header and choose
|
||||
exactly what format you would like back. The API accepts the following mime
|
||||
types
|
||||
|
||||
* `application/json`
|
||||
* *Default response*
|
||||
* Returns as a json dictionary with sensible keys
|
||||
* `text/plain`
|
||||
* Returns exact response from the `/proc` file system
|
||||
* For more about the format of these responses, refer to the proc(5) manpage
|
||||
|
||||
Proc file responses
|
||||
============
|
||||
|
||||
[GET] /proc/uptime
|
||||
-------------
|
||||
|
||||
* returns uptime and idle time
|
||||
* Same as /proc/uptime
|
||||
|
||||
Sample response
|
||||
|
||||
```
|
||||
{
|
||||
"uptime": 72583.24
|
||||
"idle" : 834157.72
|
||||
}
|
||||
```
|
||||
|
||||
[GET] /proc/meminfo
|
||||
-------------------
|
||||
|
||||
* returns infomration regarding system memory
|
||||
* Same as /proc/meminfo
|
||||
|
||||
Special formatted responses
|
||||
===========================
|
||||
|
||||
[GET] /load
|
||||
----------
|
||||
|
||||
* Returns load average over the past 1, 5, and 10 mins
|
||||
* formatted version of /proc/loadavg
|
||||
|
||||
Sample response
|
||||
|
||||
```
|
||||
{
|
||||
"1" : 0.56
|
||||
"5" : 0.69
|
||||
"10" : 1.30
|
||||
}
|
||||
```
|
||||
|
||||
[GET] /mem
|
||||
----------
|
||||
|
||||
* returns memory usage
|
||||
* formatted version of /proc/meminfo
|
||||
* All responses are in kB
|
||||
|
||||
Sample response
|
||||
|
||||
```
|
||||
{
|
||||
"memtotal" : 16255116,
|
||||
"memfree" : 2127320,
|
||||
"memavailable" : 12324924,
|
||||
"swaptotal" : 0,
|
||||
"swapfree" : 0,
|
||||
}
|
||||
```
|
46
Makefile
Normal file
46
Makefile
Normal file
@ -0,0 +1,46 @@
|
||||
###############################################################################
|
||||
# Tyler Perkins
|
||||
# 9-23-21
|
||||
# Makefile
|
||||
#
|
||||
|
||||
CC = g++
|
||||
|
||||
FLAGS = -pipe
|
||||
|
||||
CFLAGS = -Wall
|
||||
CFLAGS += -Ofast
|
||||
CFLAGS += -g
|
||||
#CFLAGS += -pg
|
||||
|
||||
LIBRARIES = -lpthread
|
||||
|
||||
SRC = $(shell find ./src -name '*.cpp')
|
||||
OBJ = $(subst .cpp,.o,$(SRC))
|
||||
BIN = ./bin
|
||||
|
||||
PREFIX = /usr/local
|
||||
MANPREFIX = $(PREFIX)/share/man
|
||||
|
||||
TARGET = crowtest
|
||||
|
||||
MAKEFLAGS += --jobs=4
|
||||
|
||||
OPTIONS = -DCROW_ENABLE_COMPRESSION -lz
|
||||
#OPTIONS += -DCROW_ENABLE_SSL -lssl
|
||||
|
||||
all : $(OBJ)
|
||||
@echo LD $@
|
||||
@$(CC) $(FLAGS) $(CFLAGS) -o $(BIN)/$(TARGET) $(OBJ) $(LIBRARIES) $(OPTIONS)
|
||||
|
||||
.cpp.o :
|
||||
@echo CC $<
|
||||
@$(CC) $(FLAGS) $(CFLAGS) $(LIBRARIES) $(OPTIONS) $(DEFINITIONS) -c $< -o $@
|
||||
|
||||
install : all
|
||||
|
||||
uninstall :
|
||||
|
||||
clean :
|
||||
find . -type f -name '*.o' -delete
|
||||
rm -rf $(BIN)/*
|
4
README.md
Normal file
4
README.md
Normal file
@ -0,0 +1,4 @@
|
||||
Learn crow
|
||||
==========
|
||||
|
||||
Learning the crow web framework
|
0
bin/.gitkeep
Normal file
0
bin/.gitkeep
Normal file
23
src/main.cpp
Normal file
23
src/main.cpp
Normal file
@ -0,0 +1,23 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Tyler Perkins
|
||||
// 28-4-22
|
||||
// Entry point
|
||||
//
|
||||
|
||||
#include <iostream>
|
||||
#include <crow.h>
|
||||
|
||||
int main(int argc, char** argv){
|
||||
crow::SimpleApp app;
|
||||
CROW_ROUTE(app, "/")([](){
|
||||
return "Hello World";
|
||||
});
|
||||
|
||||
CROW_ROUTE(app, "/json")([]{
|
||||
crow::json::wvalue response({{ "message", "Hello world" }});
|
||||
response["kek"] = "nay, cringe";
|
||||
return response;
|
||||
});
|
||||
|
||||
app.port(5000).run();
|
||||
}
|
0
src/routes.cpp
Normal file
0
src/routes.cpp
Normal file
Loading…
Reference in New Issue
Block a user