GithubHelp home page GithubHelp logo

doytsujin / pistache Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pistacheio/pistache

0.0 1.0 0.0 1.88 MB

A high-performance REST Toolkit written in C++

License: Apache License 2.0

CMake 0.79% Makefile 0.46% C++ 89.69% M4 0.62% C 0.06% Python 7.89% Shell 0.48%

pistache's Introduction

Pistache

Travis Build Status

Pistache is a modern and elegant HTTP and REST framework for C++.

It is entirely written in pure-C++11 and provides a clear and pleasant API

Full documentation is located at http://pistache.io.

Contributing

Pistache is an open-source project and will always stay open-source. Contributors are welcome!

Pistache was created by Mathieu Stefani, who can be reached via cpplang Slack channel. Drop a private message to @octal and he will invite you to the channel dedicated to Pistache.

For those that prefer IRC over Slack, the rag-tag crew of maintainers are on #pistache on freenode.

Hope to see you there !

To Build:

To download the latest available release, clone the repository over github.

git clone https://github.com/oktal/pistache.git

Then, init the submodules:

git submodule update --init

Now, compile the sources:

cd pistache
mkdir build
cd build
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install

If you want the examples built, then change change the cmake above to:

cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DPISTACHE_BUILD_EXAMPLES=true ..

After running the above, you can then cd into the build/examples directory and run make.

Optionally, you can also build and run the tests (tests require the examples):

cmake -G "Unix Makefiles" -DPISTACHE_BUILD_EXAMPLES=true -DPISTACHE_BUILD_TESTS=true ..
make test

Be patient, async_test can take some time before completing.

And that's it, now you can start playing with your newly installed Pistache framework.

Some other CMAKE defines:

Option Default Description
PISTACHE_BUILD_EXAMPLES False Build all of the example apps
PISTACHE_BUILD_TESTS False Build all of the unit tests

Example

Hello World (server)

#include <pistache/endpoint.h>

using namespace Pistache;

struct HelloHandler : public Http::Handler {
    HTTP_PROTOTYPE(HelloHandler)

    void onRequest(const Http::Request& request, Http::ResponseWriter writer) {
        writer.send(Http::Code::Ok, "Hello, World!");
    }
};

int main() {
    Http::listenAndServe<HelloHandler>("*:9080");
}

pistache's People

Contributors

oktal avatar dennisjenkins75 avatar knowledge4igor avatar iroddis avatar fylax avatar jenniferbuehler avatar hasankandemir1993 avatar snoozetime avatar jpihl avatar yisaj avatar lcinacio avatar cyremur avatar kiplingw avatar dgreatwood avatar milipili avatar martchus avatar mszy avatar santanusinha avatar tropf avatar mikeburkat avatar jeffvandyke avatar domensoklic avatar danielmoraes avatar stevijo avatar xiaopeifeng avatar misty-fungus avatar tafthorne avatar rossrogers avatar underdoeg avatar mfurkanuslu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.