Unverified Commit 6dca6a0c authored by Dennis Jenkins's avatar Dennis Jenkins Committed by GitHub

Merge pull request #532 from kiplingw/kip-add-ppas-to-website

Added PPA and pkg-config instructions
parents 37a8749c eff07983
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>404 Page Not Found</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Pistache is a C++ REST framework focussed on high performance and clear API. Pistache is a free software written by Mathieu Stefani and available on Github - https://github.com/oktal/pistache
">
<link rel="canonical"
href="http://pistache.io/404.html">
<!-- Harmony styles -->
<link rel="stylesheet" type="text/css" href="/assets/css/main.css">
<!-- Modernizr js -->
<script async src="/assets/js/modernizr.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.min.css" />
<!--[if lt IE 9]>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.ie.min.css" />
<![endif]-->
<!-- IE Fixes -->
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body class="theme-base-01">
<header class="main-header">
<div class="wc-container">
<img id="img-logo" src="/assets/images/logo.png" />
<h1>
<a href="/">Pistache</a>
</h1>
<h2>An elegant C++ REST framework.</h2>
<ul>
<li>
<a href="/">Pistache</a><span>/</span>
</li>
<li>
<a href="/quickstart">Getting Started</a><span>/</span>
</li>
<li>
<a href="/guide/">User's Guide</a><span>/</span>
</li>
<li>
<a title="Pistache on Github"
href="https://github.com/oktal/pistache" target="_blank">
Source code
</a><span>/</span>
</li>
</ul>
<div style="text-align: center">
<iframe src="https://ghbtns.com/github-btn.html?user=oktal&repo=pistache&type=star&count=true&size=large" frameborder="0" scrolling="0" width="160px" height="30px"></iframe>
<iframe src="https://ghbtns.com/github-btn.html?user=oktal&repo=pistache&type=fork&count=true&size=large" frameborder="0" scrolling="0" width="158px" height="30px"></iframe>
</div>
</div>
</header>
<div class="page-content wc-container">
<h3>404 Page Not Found</h3>
<h4>The page you were looking for is not found.</h4>
<p>Sorry, we've misplaced that URL or it's pointing to something that
doesn't exist. Please <a href="">head back home</a> to try finding it again.</p>
</div>
<footer class="main-footer">
<div class="wc-container">
<div class="column one">
<h6>Few more links</h6>
<ul class="menu">
</ul>
</div>
<div class="column two">
<h6>Follow me</h6>
<ul class="social-media">
<li>
<a title="oktal on Github"
href="https://github.com/oktal"
class="github wc-img-replace" target="_blank">Github</a>
</li>
</ul>
</div>
</div>
<p class="wc-container disclaimer">
Powered by <a href="http://jekyllrb.com" target="_blank">Jekyll</a>
</p>
</footer>
<script type="text/javascript">
/* To avoid render blocking css */
var cb = function() {
var l = document.createElement('link'); l.rel = 'stylesheet';
l.href = 'http://fonts.googleapis.com/css?family=Ubuntu+Mono&subset=latin';
var h = document.getElementsByTagName('head')[0]; h.parentNode.insertBefore(l, h);
};
var raf = requestAnimationFrame || mozRequestAnimationFrame ||
webkitRequestAnimationFrame || msRequestAnimationFrame;
if (raf) raf(cb);
else window.addEventListener('load', cb);
</script>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- When no internet load JQuery from local -->
<script>window.jQuery || document.write('<script src="/assets/js/jquery.min.js"><\/script>')</script>
<!-- Site js -->
<script src="/assets/js/all.js"></script>
<!-- Google analytics -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxx-x']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</body>
</html>
pistache.io
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="7px" height="7px" viewBox="0 0 7 7" enable-background="new 0 0 7 7" xml:space="preserve">
<rect fill="#666766" width="7" height="7"/>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="224px" height="64px" viewBox="0 0 224 64" enable-background="new 0 0 224 64" xml:space="preserve">
<path fill="#383838" d="M24,11c-0.6,0.3-1.2,0.4-1.9,0.5c0.7-0.4,1.2-1,1.4-1.8c-0.6,0.4-1.3,0.6-2.1,0.8c-0.6-0.6-1.5-1-2.4-1
c-1.8,0-3.3,1.5-3.3,3.3c0,0.3,0,0.5,0.1,0.7c-2.7-0.1-5.1-1.4-6.8-3.4c-0.3,0.5-0.4,1-0.4,1.7c0,1.1,0.6,2.1,1.5,2.7
c-0.5,0-1-0.2-1.5-0.4l0,0c0,1.6,1.1,2.9,2.6,3.2c-0.4,0.3-1,0.3-1.5,0c0.4,1.3,1.6,2.3,3.1,2.3c-1.1,0.9-2.5,1.4-4.1,1.4
c-0.3,0-0.5,0-0.8,0c1.5,0.9,3.2,1.5,5,1.5c6,0,9.3-5,9.3-9.3c0-0.1,0-0.3,0-0.4C23,12.3,23.6,11.7,24,11z"/>
<path fill="#383838" d="M78,16v8h3v-8h2l1-3h-3c0,0,0-0.5,0-1.3c0-0.3,0.2-0.7,0.7-0.7c1,0,2.9,0,2.3,0V8c0,0-1.6,0-3.3,0
C79,8,78,9.3,78,10.8s0,2.3,0,2.3h-2v3h2V16z"/>
<path fill="#383838" d="M112,24c-4.4,0-8-3.6-8-8s3.6-8,8-8s8,3.6,8,8S116.4,24,112,24z M118.7,17.1c-0.2-0.1-2.1-0.6-4.3-0.3
c0.9,2.5,1.1,3.7,1.3,4.9C117.4,20.6,118.4,19,118.7,17.1z M114.7,22.3c-0.2-1.2-0.5-2.7-1.5-5.2l0,0c-3.9,1.3-5.2,4-5.4,4.3
C109.4,22.7,112,23.2,114.7,22.3z M106.9,20.6c1.6-3.1,5.8-4.6,5.9-4.6c-0.2-0.4-0.4-0.8-0.6-1.2c-3.4,1-6.7,1-7,1
C105.1,17.7,105.8,19.4,106.9,20.6z M105.3,14.6c0.3,0,3.1,0,6.3-0.8c-1.1-2-2.3-3.7-2.5-4C107.2,10.7,105.8,12.5,105.3,14.6z
M110.4,9.4c0.2,0.3,1.4,1.9,2.5,4c2.4-0.9,3.5-2.3,3.6-2.5C115.3,9.8,113,8.9,110.4,9.4z M117.3,11.7c-0.1,0.2-1.3,1.7-3.8,2.7
c0.2,0.3,0.4,0.9,0.6,1.4c2.3-0.3,4,0,4.8,0.2C118.9,14.2,118.2,12.8,117.3,11.7z"/>
<path fill="#383838" d="M170,20c-1.1,0-2,0.9-2,2c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2C172.1,21,171.1,20,170,20z M168,13.4v3.1
c4.2,0,7.5,3.6,7.5,7.5h3.1C178.6,18.2,173.8,13.4,168,13.4z M168,8v3.1c7.1,0,12.9,5.8,12.9,12.9h3.1C184,15.2,176.8,8,168,8z"/>
<path fill="#383838" d="M50.8,17.1c-0.6,0-1.1,0.7-1.1,1.6c0,0.9,0.5,1.6,1.1,1.6c0.6,0,1.1-0.7,1.1-1.6
C51.9,17.8,51.4,17.1,50.8,17.1z M54.7,13.1c0.1-0.3,0.1-2.1-0.6-3.8c0,0-1.6,0.2-4,1.8c-0.5-0.1-1.3-0.2-2.2-0.2s-1.7,0.1-2.2,0.2
c-2.4-1.6-4-1.8-4-1.8c-0.7,1.7-0.7,3.5-0.6,3.8C40.5,13.9,40,15,40,16.4c0,6.2,5.2,6.3,6.5,6.3c0.3,0,0.9,0,1.5,0
c0.6,0,1.2,0,1.5,0c1.3,0,6.5-0.1,6.5-6.3C56,15,55.5,13.9,54.7,13.1z M48,22L48,22c-3.3,0-5.9-0.4-5.9-3.6c0-0.8,0.3-1.5,0.9-2.1
c1.1-1,2.9-0.5,4.9-0.5c0,0,0,0,0,0c0,0,0,0,0,0c2.1,0,3.9-0.5,4.9,0.5c0.6,0.6,0.9,1.3,0.9,2.1C53.9,21.6,51.3,22,48,22z
M45.2,17.1c-0.6,0-1.1,0.7-1.1,1.6c0,0.9,0.5,1.6,1.1,1.6c0.6,0,1.1-0.7,1.1-1.6C46.4,17.8,45.9,17.1,45.2,17.1z"/>
<path fill="#383838" d="M143.1,11.8c-0.2-1.7-1.4-3-2.5-3s-2,1.3-1.8,2.9c0.2,1.7,1.4,3,2.5,3.1C142.4,14.8,143.2,13.4,143.1,11.8z
M141.2,18c-1.8,0-3.4,1.1-3.4,2.6s1.3,2.6,3,2.6c2.5,0,3.4-1.1,3.4-2.6c0-0.2,0-0.3-0.1-0.5c-0.2-0.8-0.9-1.2-1.8-1.9
C142,18.1,141.6,18,141.2,18z M143.2,8.8c1,0.4,1.5,1.6,1.5,2.9c0,1-0.6,1.9-1.3,2.6c-0.7,0.6-0.9,0.9-0.9,1.4
c0,0.5,0.8,1.2,1.2,1.5c1.2,1,1.6,1.8,1.6,3.2c0,1.8-1.6,3.6-4.5,3.6c-2.6,0-4.7-1.1-4.7-2.9c0-1.8,2-3.6,4.5-3.6h0.8
c-0.3-0.4-0.6-0.8-0.6-1.4c0-0.3,0.1-0.6,0.2-1c-0.2,0-0.3,0-0.4,0c-2.1,0-3.5-1.6-3.5-3.6c0-1.9,1.9-3.6,4-3.6h4.6l-1,0.8H143.2
L143.2,8.8z M151,12h-2v2h-1v-2h-2v-1h2V9h1v2h2V12z"/>
<path fill="#383838" d="M206.9,18.6c-0.4,2.2-0.9,4.3-2.5,5.4c-0.5-3.3,0.7-5.8,1.2-8.5c-0.9-1.5,0.1-4.6,2-3.9
c2.4,0.9-2.1,5.7,0.9,6.3c3.1,0.6,4.4-5.4,2.5-7.4c-2.8-2.8-8.1-0.1-7.5,4c0.2,1,1.2,1.3,0.4,2.7c-1.8-0.4-2.3-1.8-2.2-3.7
c0.1-3.1,2.8-5.2,5.4-5.5c3.4-0.4,6.5,1.2,7,4.4c0.5,3.6-1.5,7.4-5.1,7.2C208.1,19.5,207.7,19,206.9,18.6z"/>
<path fill="#FFFFFF" d="M24,43c-0.6,0.3-1.2,0.4-1.9,0.5c0.7-0.4,1.2-1,1.4-1.8c-0.6,0.4-1.3,0.6-2.1,0.8c-0.6-0.6-1.5-1-2.4-1
c-1.8,0-3.3,1.5-3.3,3.3c0,0.3,0,0.5,0.1,0.7c-2.7-0.1-5.1-1.4-6.8-3.4c-0.3,0.5-0.4,1-0.4,1.7c0,1.1,0.6,2.1,1.5,2.7
c-0.5,0-1-0.2-1.5-0.4l0,0c0,1.6,1.1,2.9,2.6,3.2c-0.4,0.3-1,0.3-1.5,0c0.4,1.3,1.6,2.3,3.1,2.3c-1.1,0.9-2.5,1.4-4.1,1.4
c-0.3,0-0.5,0-0.8,0c1.5,0.9,3.2,1.5,5,1.5c6,0,9.3-5,9.3-9.3c0-0.1,0-0.3,0-0.4C23,44.3,23.6,43.7,24,43z"/>
<path fill="#FFFFFF" d="M78,48v8h3v-8h2l1-3h-3c0,0,0-0.5,0-1.3c0-0.3,0.2-0.7,0.7-0.7c1,0,2.9,0,2.3,0v-3c0,0-1.6,0-3.3,0
C79,40,78,41.3,78,42.8s0,2.3,0,2.3h-2v3L78,48L78,48z"/>
<path fill="#FFFFFF" d="M112,56c-4.4,0-8-3.6-8-8s3.6-8,8-8s8,3.6,8,8S116.4,56,112,56z M118.7,49.1c-0.2-0.1-2.1-0.6-4.3-0.3
c0.9,2.5,1.1,3.7,1.3,4.9C117.4,52.6,118.4,51,118.7,49.1z M114.7,54.3c-0.2-1.2-0.5-2.7-1.5-5.2l0,0c-3.9,1.3-5.2,4-5.4,4.3
C109.4,54.7,112,55.2,114.7,54.3z M106.9,52.6c1.6-3.1,5.8-4.6,5.9-4.6c-0.2-0.4-0.4-0.8-0.6-1.2c-3.4,1-6.7,1-7,1
C105.1,49.7,105.8,51.4,106.9,52.6z M105.3,46.6c0.3,0,3.1,0,6.3-0.8c-1.1-2-2.3-3.7-2.5-4C107.2,42.7,105.8,44.5,105.3,46.6z
M110.4,41.4c0.2,0.3,1.4,1.9,2.5,4c2.4-0.9,3.5-2.3,3.6-2.5C115.3,41.8,113,40.9,110.4,41.4z M117.3,43.7c-0.1,0.2-1.3,1.7-3.8,2.7
c0.2,0.3,0.4,0.9,0.6,1.4c2.3-0.3,4,0,4.8,0.2C118.9,46.2,118.2,44.8,117.3,43.7z"/>
<path fill="#FFFFFF" d="M170,52c-1.1,0-2,0.9-2,2c0,1.1,0.9,2,2,2c1.1,0,2-0.9,2-2C172.1,53,171.1,52,170,52z M168,45.4v3.1
c4.2,0,7.5,3.6,7.5,7.5h3.1C178.6,50.2,173.8,45.4,168,45.4z M168,40v3.1c7.1,0,12.9,5.8,12.9,12.9h3.1C184,47.2,176.8,40,168,40z"
/>
<path fill="#FFFFFF" d="M50.8,49.1c-0.6,0-1.1,0.7-1.1,1.6c0,0.9,0.5,1.6,1.1,1.6c0.6,0,1.1-0.7,1.1-1.6
C51.9,49.8,51.4,49.1,50.8,49.1z M54.7,45.1c0.1-0.3,0.1-2.1-0.6-3.8c0,0-1.6,0.2-4,1.8c-0.5-0.1-1.3-0.2-2.2-0.2s-1.7,0.1-2.2,0.2
c-2.4-1.6-4-1.8-4-1.8c-0.7,1.7-0.7,3.5-0.6,3.8C40.5,45.9,40,47,40,48.4c0,6.2,5.2,6.3,6.5,6.3c0.3,0,0.9,0,1.5,0
c0.6,0,1.2,0,1.5,0c1.3,0,6.5-0.1,6.5-6.3C56,47,55.5,45.9,54.7,45.1z M48,54L48,54c-3.3,0-5.9-0.4-5.9-3.6c0-0.8,0.3-1.5,0.9-2.1
c1.1-1,2.9-0.5,4.9-0.5c0,0,0,0,0,0c0,0,0,0,0,0c2.1,0,3.9-0.5,4.9,0.5c0.6,0.6,0.9,1.3,0.9,2.1C53.9,53.6,51.3,54,48,54z
M45.2,49.1c-0.6,0-1.1,0.7-1.1,1.6c0,0.9,0.5,1.6,1.1,1.6c0.6,0,1.1-0.7,1.1-1.6C46.4,49.8,45.9,49.1,45.2,49.1z"/>
<path fill="#FFFFFF" d="M143.1,43.8c-0.2-1.7-1.4-3-2.5-3s-2,1.3-1.8,2.9c0.2,1.7,1.4,3,2.5,3.1C142.4,46.8,143.2,45.4,143.1,43.8z
M141.2,50c-1.8,0-3.4,1.1-3.4,2.6c0,1.4,1.3,2.6,3,2.6c2.5,0,3.4-1.1,3.4-2.6c0-0.2,0-0.3-0.1-0.5c-0.2-0.8-0.9-1.2-1.8-1.9
C142,50.1,141.6,50,141.2,50z M143.2,40.8c1,0.4,1.5,1.6,1.5,2.9c0,1-0.6,1.9-1.3,2.6c-0.7,0.6-0.9,0.9-0.9,1.4
c0,0.5,0.8,1.2,1.2,1.5c1.2,1,1.6,1.8,1.6,3.2c0,1.8-1.6,3.6-4.5,3.6c-2.6,0-4.7-1.1-4.7-2.9c0-1.8,2-3.6,4.5-3.6h0.8
c-0.3-0.4-0.6-0.8-0.6-1.4c0-0.3,0.1-0.6,0.2-1c-0.2,0-0.3,0-0.4,0c-2.1,0-3.5-1.6-3.5-3.6c0-1.9,1.9-3.6,4-3.6h4.6l-1,0.8H143.2
L143.2,40.8z M151,44h-2v2h-1v-2h-2v-1h2v-2h1v2h2V44z"/>
<path fill="#FFFFFF" d="M206.9,50.6c-0.4,2.2-0.9,4.3-2.5,5.4c-0.5-3.3,0.7-5.8,1.2-8.5c-0.9-1.5,0.1-4.6,2-3.9
c2.4,0.9-2.1,5.7,0.9,6.3c3.1,0.6,4.4-5.4,2.5-7.4c-2.8-2.8-8.1-0.1-7.5,4c0.2,1,1.2,1.3,0.4,2.7c-1.8-0.4-2.3-1.8-2.2-3.7
c0.1-3.1,2.8-5.2,5.4-5.5c3.4-0.4,6.5,1.2,7,4.4c0.5,3.6-1.5,7.4-5.1,7.2C208.1,51.5,207.7,51,206.9,50.6z"/>
</svg>
This diff is collapsed.
/* http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
\ No newline at end of file
.highlight { background: #ffffff; }
.highlight .c { color: #999988; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { font-weight: bold } /* Keyword */
.highlight .o { font-weight: bold } /* Operator */
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #999999 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { font-weight: bold } /* Keyword.Constant */
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #009999 } /* Literal.Number */
.highlight .s { color: #d14 } /* Literal.String */
.highlight .na { color: #008080 } /* Name.Attribute */
.highlight .nb { color: #0086B3 } /* Name.Builtin */
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
.highlight .no { color: #008080 } /* Name.Constant */
.highlight .ni { color: #800080 } /* Name.Entity */
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
.highlight .nn { color: #555555 } /* Name.Namespace */
.highlight .nt { color: #000080 } /* Name.Tag */
.highlight .nv { color: #008080 } /* Name.Variable */
.highlight .ow { font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #009999 } /* Literal.Number.Float */
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
.highlight .sb { color: #d14 } /* Literal.String.Backtick */
.highlight .sc { color: #d14 } /* Literal.String.Char */
.highlight .sd { color: #d14 } /* Literal.String.Doc */
.highlight .s2 { color: #d14 } /* Literal.String.Double */
.highlight .se { color: #d14 } /* Literal.String.Escape */
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
.highlight .si { color: #d14 } /* Literal.String.Interpol */
.highlight .sx { color: #d14 } /* Literal.String.Other */
.highlight .sr { color: #009926 } /* Literal.String.Regex */
.highlight .s1 { color: #d14 } /* Literal.String.Single */
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #008080 } /* Name.Variable.Class */
.highlight .vg { color: #008080 } /* Name.Variable.Global */
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
jQuery(document).ready(function($){
// todo: jquery stuff should need to put here.
});
This diff is collapsed.
/* Modernizr 2.8.3 (Custom Build) | MIT & BSD
* Build: http://modernizr.com/download/#-borderradius-shiv-cssclasses-teststyles-testprop-testallprops-prefixes-domprefixes-load
*/
;window.Modernizr=function(a,b,c){function z(a){j.cssText=a}function A(a,b){return z(m.join(a+";")+(b||""))}function B(a,b){return typeof a===b}function C(a,b){return!!~(""+a).indexOf(b)}function D(a,b){for(var d in a){var e=a[d];if(!C(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function E(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:B(f,"function")?f.bind(d||b):f}return!1}function F(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+o.join(d+" ")+d).split(" ");return B(b,"string")||B(b,"undefined")?D(e,b):(e=(a+" "+p.join(d+" ")+d).split(" "),E(e,b,c))}var d="2.8.3",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m=" -webkit- -moz- -o- -ms- ".split(" "),n="Webkit Moz O ms",o=n.split(" "),p=n.toLowerCase().split(" "),q={},r={},s={},t=[],u=t.slice,v,w=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},x={}.hasOwnProperty,y;!B(x,"undefined")&&!B(x.call,"undefined")?y=function(a,b){return x.call(a,b)}:y=function(a,b){return b in a&&B(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=u.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(u.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(u.call(arguments)))};return e}),q.borderradius=function(){return F("borderRadius")};for(var G in q)y(q,G)&&(v=G.toLowerCase(),e[v]=q[G](),t.push((e[v]?"":"no-")+v));return e.addTest=function(a,b){if(typeof a=="object")for(var d in a)y(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},z(""),i=k=null,function(a,b){function l(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function m(){var a=s.elements;return typeof a=="string"?a.split(" "):a}function n(a){var b=j[a[h]];return b||(b={},i++,a[h]=i,j[i]=b),b}function o(a,c,d){c||(c=b);if(k)return c.createElement(a);d||(d=n(c));var g;return d.cache[a]?g=d.cache[a].cloneNode():f.test(a)?g=(d.cache[a]=d.createElem(a)).cloneNode():g=d.createElem(a),g.canHaveChildren&&!e.test(a)&&!g.tagUrn?d.frag.appendChild(g):g}function p(a,c){a||(a=b);if(k)return a.createDocumentFragment();c=c||n(a);var d=c.frag.cloneNode(),e=0,f=m(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function q(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return s.shivMethods?o(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/[\w\-]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(s,b.frag)}function r(a){a||(a=b);var c=n(a);return s.shivCSS&&!g&&!c.hasCSS&&(c.hasCSS=!!l(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),k||q(a,c),a}var c="3.7.0",d=a.html5||{},e=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,f=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,g,h="_html5shiv",i=0,j={},k;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",g="hidden"in a,k=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){g=!0,k=!0}})();var s={elements:d.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video",version:c,shivCSS:d.shivCSS!==!1,supportsUnknownElements:k,shivMethods:d.shivMethods!==!1,type:"default",shivDocument:r,createElement:o,createDocumentFragment:p};a.html5=s,r(b)}(this,b),e._version=d,e._prefixes=m,e._domPrefixes=p,e._cssomPrefixes=o,e.testProp=function(a){return D([a])},e.testAllProps=F,e.testStyles=w,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+t.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
\ No newline at end of file
This diff is collapsed.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Pistache</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Pistache is a C++ REST framework focussed on high performance and clear API. Pistache is a free software written by Mathieu Stefani and available on Github - https://github.com/oktal/pistache
">
<link rel="canonical"
href="http://pistache.io/">
<!-- Harmony styles -->
<link rel="stylesheet" type="text/css" href="/assets/css/main.css">
<!-- Modernizr js -->
<script async src="/assets/js/modernizr.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.min.css" />
<!--[if lt IE 9]>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-fork-ribbon-css/0.2.0/gh-fork-ribbon.ie.min.css" />
<![endif]-->
<!-- IE Fixes -->
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body class="theme-base-01">
<header class="main-header">
<div class="wc-container">
<img id="img-logo" src="/assets/images/logo.png" />
<h1>
<a href="/">Pistache</a>
</h1>
<h2>An elegant C++ REST framework.</h2>
<ul>
<li>
<a class="active" href="/" class="active">Pistache</a><span>/</span>
</li>
<li>
<a href="/quickstart">Getting Started</a><span>/</span>
</li>
<li>
<a href="/guide/">User's Guide</a><span>/</span>
</li>
<li>
<a title="Pistache on Github"
href="https://github.com/oktal/pistache" target="_blank">
Source code
</a><span>/</span>
</li>
</ul>
<div style="text-align: center">
<iframe src="https://ghbtns.com/github-btn.html?user=oktal&repo=pistache&type=star&count=true&size=large" frameborder="0" scrolling="0" width="160px" height="30px"></iframe>
<iframe src="https://ghbtns.com/github-btn.html?user=oktal&repo=pistache&type=fork&count=true&size=large" frameborder="0" scrolling="0" width="158px" height="30px"></iframe>
</div>
</div>
</header>
<div class="page-content wc-container">
<div class="post">
<h1>Pistache</h1>
<div class="post">
<p><code>Pistache</code> is a C++ REST framework written by <a href="https://github.com/oktal">Mathieu Stefani</a> at <a href="http://datacratic.com">Datacratic</a>.
It is written in pure C++11 with no external dependency and provides a low-level HTTP abstraction.</p>
<p><code>Pistache</code> provides both an HTTP client and server that can be used to create and query complex web and REST APIs.</p>
<p>It’s completly free and Apache-licensed.</p>
<h2 id="modern-api">Modern API</h2>
<p>Playing with Pistache and its modern API is fun and easy</p>
<figure class="highlight"><pre><code class="language-cpp" data-lang="cpp"><span class="k">struct</span> <span class="nl">HelloHandler</span> <span class="p">:</span> <span class="k">public</span> <span class="n">Http</span><span class="o">::</span><span class="n">Handler</span> <span class="p">{</span>
<span class="kt">void</span> <span class="n">onRequest</span><span class="p">(</span><span class="k">const</span> <span class="n">Http</span><span class="o">::</span><span class="n">Request</span><span class="o">&amp;</span> <span class="n">req</span><span class="p">,</span> <span class="n">Http</span><span class="o">::</span><span class="n">ResponseWriter</span> <span class="n">response</span><span class="p">)</span> <span class="p">{</span>
<span class="n">response</span><span class="p">.</span><span class="n">send</span><span class="p">(</span><span class="n">Http</span><span class="o">::</span><span class="n">Code</span><span class="o">::</span><span class="n">Ok</span><span class="p">,</span> <span class="s">&quot;Hello, World&quot;</span><span class="p">);</span>
<span class="p">}</span>
<span class="p">};</span>
<span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span>
<span class="n">Http</span><span class="o">::</span><span class="n">listenAndServe</span><span class="o">&lt;</span><span class="n">HelloHandler</span><span class="o">&gt;</span><span class="p">(</span><span class="s">&quot;*:9080&quot;</span><span class="p">);</span>
<span class="p">}</span></code></pre></figure>
<figure class="highlight"><pre><code class="language-bash" data-lang="bash">curl http://127.0.0.1:9080
Hello, World</code></pre></figure>
<h2 id="whats-in-the-box">What’s in the box</h2>
<ul>
<li>A multi-threaded http server to build your APIs</li>
<li>An asynchronous http client to request APIS</li>
<li>An HTTP router to dispatch requests to C++ functions</li>
<li>A REST description DSL to easily define your APIs</li>
<li>Type-safe headers and MIME types implementation</li>
</ul>
<h2 id="use-it">Use it</h2>
<ul>
<li>Clone it on <a href="http://github.com/oktal/pistache">github</a></li>
<li>Start with the <a href="quickstart">quickstart</a></li>
<li>Read the full user’s <a href="guide">guide</a></li>
<li>Have issues with it ? Fill an <a href="https://github.com/oktal/pistache/issues">issue</a></li>
</ul>
</div>
</div>
</div>
<footer class="main-footer">
<div class="wc-container">
<div class="column one">
<h6>Few more links</h6>
<ul class="menu">
</ul>
</div>
<div class="column two">
<h6>Follow me</h6>
<ul class="social-media">
<li>
<a title="oktal on Github"
href="https://github.com/oktal"
class="github wc-img-replace" target="_blank">Github</a>
</li>
</ul>
</div>
</div>
<p class="wc-container disclaimer">
Powered by <a href="http://jekyllrb.com" target="_blank">Jekyll</a>
</p>
</footer>
<script type="text/javascript">
/* To avoid render blocking css */
var cb = function() {
var l = document.createElement('link'); l.rel = 'stylesheet';
l.href = 'http://fonts.googleapis.com/css?family=Ubuntu+Mono&subset=latin';
var h = document.getElementsByTagName('head')[0]; h.parentNode.insertBefore(l, h);
};
var raf = requestAnimationFrame || mozRequestAnimationFrame ||
webkitRequestAnimationFrame || msRequestAnimationFrame;
if (raf) raf(cb);
else window.addEventListener('load', cb);
</script>
<!-- jQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- When no internet load JQuery from local -->
<script>window.jQuery || document.write('<script src="/assets/js/jquery.min.js"><\/script>')</script>
<!-- Site js -->
<script src="/assets/js/all.js"></script>
<!-- Google analytics -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxx-x']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</body>
</html>
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment