Skip to content

Commit 9a3a42a

Browse files
committed
Truncate history, version 1.0.0-b2
0 parents  commit 9a3a42a

File tree

204 files changed

+46608
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

204 files changed

+46608
-0
lines changed

.gitattributes

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Set default behaviour, in case users don't have core.autocrlf set.
2+
* text=auto
3+
4+
# Github
5+
.md text eol=lf
6+
7+
# Visual Studio
8+
*.sln text eol=crlf
9+
*.vcproj text eol=crlf
10+
*.vcxproj text eol=crlf
11+
*.props text eol=crlf
12+
*.filters text eol=crlf

.gitignore

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
docs/
2+
._*
3+
*.mode1v3
4+
*.pbxuser
5+
*.perspectivev3
6+
*.user
7+
*.ncb
8+
*.suo
9+
*.obj
10+
*.ilk
11+
*.pch
12+
*.pdb
13+
*.dep
14+
*.idb
15+
*.manifest
16+
*.manifest.res
17+
*.o
18+
*.opensdf
19+
*.d
20+
*.sdf
21+
xcuserdata
22+
contents.xcworkspacedata
23+
.DS_Store
24+
.svn
25+
profile
26+
bin/

.travis.yml

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
sudo: false
2+
language: cpp
3+
4+
env:
5+
global:
6+
# Maintenance note: to move to a new version
7+
# of boost, update both BOOST_ROOT and BOOST_URL.
8+
# Note that for simplicity, BOOST_ROOT's final
9+
# namepart must match the folder name internal
10+
# to boost's .tar.gz.
11+
- BOOST_ROOT=$HOME/boost_1_60_0
12+
- BOOST_URL='http://downloads.sourceforge.net/project/boost/boost/1.60.0/boost_1_60_0.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2Ffiles%2Fboost%2F1.60.0%2Fboost_1_60_0.tar.gz&ts=1460417589&use_mirror=netix'
13+
packages: &gcc5_pkgs
14+
- gcc-5
15+
- g++-5
16+
- python-software-properties
17+
- protobuf-compiler
18+
- libstdc++6
19+
- binutils-gold
20+
# Provides a backtrace if the unittests crash
21+
- gdb
22+
23+
packages: &clang36_pkgs
24+
- clang-3.6
25+
- g++-5
26+
- python-software-properties
27+
- libssl-dev
28+
- libstdc++6
29+
- binutils-gold
30+
# Provides a backtrace if the unittests crash
31+
- gdb
32+
33+
matrix:
34+
include:
35+
- compiler: gcc
36+
env: GCC_VER=5 VARIANT=debug
37+
addons: &ao_gcc5
38+
apt:
39+
sources: ['ubuntu-toolchain-r-test']
40+
packages: *gcc5_pkgs
41+
42+
- compiler: gcc
43+
env: GCC_VER=5 VARIANT=release
44+
addons: *ao_gcc5
45+
46+
- compiler: clang
47+
env: GCC_VER=5 VARIANT=debug CLANG_VER=3.6
48+
addons: &ao_clang36
49+
apt:
50+
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-precise-3.6']
51+
packages: *clang36_pkgs
52+
53+
- compiler: clang
54+
env: GCC_VER=5 VARIANT=release CLANG_VER=3.6
55+
addons: *ao_clang36
56+
57+
cache:
58+
directories:
59+
- $BOOST_ROOT
60+
61+
before_install:
62+
- scripts/install-dependencies.sh
63+
64+
script:
65+
- scripts/build-and-test.sh
66+
67+
notifications:
68+
email:
69+
false

CMakeLists.txt

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Part of Beast
2+
3+
cmake_minimum_required (VERSION 3.5)
4+
5+
project (Beast)
6+
7+
set_property (GLOBAL PROPERTY USE_FOLDERS ON)
8+
9+
if (WIN32)
10+
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4 /wd4100 /D_SCL_SECURE_NO_WARNINGS=1 /D_CRT_SECURE_NO_WARNINGS=1")
11+
else()
12+
endif()
13+
14+
message ("cxx Flags: " ${CMAKE_CXX_FLAGS})
15+
16+
macro(GroupSources curdir)
17+
file(GLOB children RELATIVE ${PROJECT_SOURCE_DIR}/${curdir} ${PROJECT_SOURCE_DIR}/${curdir}/*)
18+
foreach(child ${children})
19+
if(IS_DIRECTORY ${PROJECT_SOURCE_DIR}/${curdir}/${child})
20+
GroupSources(${curdir}/${child})
21+
elseif(${child} STREQUAL "CMakeLists.txt")
22+
source_group("" FILES ${PROJECT_SOURCE_DIR}/${curdir}/${child})
23+
else()
24+
string(REPLACE "/" "\\" groupname ${curdir})
25+
string(REPLACE "src" "Common" groupname ${groupname})
26+
source_group(${groupname} FILES ${PROJECT_SOURCE_DIR}/${curdir}/${child})
27+
endif()
28+
endforeach()
29+
endmacro()
30+
31+
include_directories (include)
32+
33+
file(GLOB_RECURSE BEAST_INCLUDES
34+
${PROJECT_SOURCE_DIR}/include/beast/*.hpp
35+
${PROJECT_SOURCE_DIR}/include/beast/*.ipp
36+
)
37+
38+
add_subdirectory (test)
39+
add_subdirectory (examples)
40+
41+
#enable_testing()

Jamroot

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
#
2+
# Copyright (c) 2013-2016 Vinnie Falco (vinnie dot falco at gmail dot com)
3+
#
4+
# Distributed under the Boost Software License, Version 1.0. (See accompanying
5+
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6+
#
7+
8+
import os ;
9+
import feature ;
10+
import boost ;
11+
12+
boost.use-project ;
13+
14+
if [ os.name ] = SOLARIS
15+
{
16+
lib socket ;
17+
lib nsl ;
18+
}
19+
else if [ os.name ] = NT
20+
{
21+
lib ws2_32 ;
22+
lib mswsock ;
23+
}
24+
else if [ os.name ] = HPUX
25+
{
26+
lib ipv6 ;
27+
}
28+
else if [ os.name ] = QNXNTO
29+
{
30+
lib socket ;
31+
}
32+
else if [ os.name ] = HAIKU
33+
{
34+
lib network ;
35+
}
36+
37+
if [ os.name ] = NT
38+
{
39+
lib ssl : : <name>ssleay32 ;
40+
lib crypto : : <name>libeay32 ;
41+
}
42+
else
43+
{
44+
lib ssl ;
45+
lib crypto ;
46+
}
47+
48+
project beast
49+
: requirements
50+
<include>.
51+
<include>./include
52+
#<use>/boost//headers
53+
<library>/boost/system//boost_system
54+
<library>/boost/filesystem//boost_filesystem
55+
<library>/boost/program_options//boost_program_options
56+
# <library>ssl
57+
# <library>crypto
58+
<define>BOOST_ALL_NO_LIB=1
59+
<define>BOOST_SYSTEM_NO_DEPRECATED=1
60+
<threading>multi
61+
<link>static
62+
<runtime-link>shared
63+
<debug-symbols>on
64+
<toolset>gcc:<cxxflags>-std=c++11
65+
<toolset>gcc:<cxxflags>-Wno-unused-variable
66+
<toolset>clang:<cxxflags>-std=c++11
67+
<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS=1
68+
<toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS=1
69+
<os>LINUX:<define>_XOPEN_SOURCE=600
70+
<os>LINUX:<define>_GNU_SOURCE=1
71+
<os>SOLARIS:<define>_XOPEN_SOURCE=500
72+
<os>SOLARIS:<define>__EXTENSIONS__
73+
<os>SOLARIS:<library>socket
74+
<os>SOLARIS:<library>nsl
75+
<os>NT:<define>_WIN32_WINNT=0x0501
76+
<os>NT,<toolset>cw:<library>ws2_32
77+
<os>NT,<toolset>cw:<library>mswsock
78+
<os>NT,<toolset>gcc:<library>ws2_32
79+
<os>NT,<toolset>gcc:<library>mswsock
80+
<os>NT,<toolset>gcc-cygwin:<define>__USE_W32_SOCKETS
81+
<os>HPUX,<toolset>gcc:<define>_XOPEN_SOURCE_EXTENDED
82+
<os>HPUX:<library>ipv6
83+
<os>QNXNTO:<library>socket
84+
<os>HAIKU:<library>network
85+
: usage-requirements
86+
<include>.
87+
:
88+
build-dir bin
89+
;
90+
91+
build-project test ;
92+
build-project examples ;

LICENSE_1_0.txt

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Boost Software License - Version 1.0 - August 17th, 2003
2+
3+
Permission is hereby granted, free of charge, to any person or organization
4+
obtaining a copy of the software and accompanying documentation covered by
5+
this license (the "Software") to use, reproduce, display, distribute,
6+
execute, and transmit the Software, and to prepare derivative works of the
7+
Software, and to permit third-parties to whom the Software is furnished to
8+
do so, all subject to the following:
9+
10+
The copyright notices in the Software and this entire statement, including
11+
the above license grant, this restriction and the following disclaimer,
12+
must be included in all copies of the Software, in whole or in part, and
13+
all derivative works of the Software, unless such copies or derivative
14+
works are solely in the form of machine-executable object code generated by
15+
a source language processor.
16+
17+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19+
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
20+
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
21+
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
22+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23+
DEALINGS IN THE SOFTWARE.

README.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Beast [![Build Status](https://travis-ci.org/vinniefalco/Beast.svg?branch=master)](https://travis-ci.org/vinniefalco/Beast)
2+
3+
Beast provides implementations of the HTTP and WebSocket protocols
4+
built on top of Boost.Asio and other parts of boost.
5+
6+
Requirements:
7+
8+
* Boost
9+
* C++11 or greater
10+
* OpenSSL (optional)
11+
12+
Linking applications with beast:
13+
14+
You need to include the .cpp file `src/beast_http_nodejs_parser.cpp`
15+
in the build script or Makefile for your program in order to link.
16+
17+
Links:
18+
19+
* [Home](http://vinniefalco.github.io/)
20+
* [Repository](https://github.com/vinniefalco/Beast)
21+
* [Documentation](http://vinniefalco.github.io/beast/)
22+
* [Autobahn.testsuite results](http://vinniefalco.github.io/autobahn/index.html)
23+
24+
Please report issues or questions here:
25+
https://github.com/vinniefalco/Beast/issues

TODO.txt

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
* Change build options to C++11 only
2+
* Replace Jamroot with Jamfile
3+
* Fix failing test/message.cpp
4+
* Complete allocator testing in basic_streambuf, basic_headers
5+
* Tidy up type_checks
6+
- Derive from std::integral_constant
7+
* Check DOXYGEN, GENERATIC_DOCS directives in source
8+
- See if we can include them now that xsl is fixed
9+
* Go over each header and split header material into detail and impl files
10+
* Make buffers_debug a detail
11+
* Roll header-only http parser
12+
* Define Parser concept in HTTP
13+
* melpon sandbox?
14+
* invokable unit test
15+
* trim public interface of rfc2616.h to essentials only
16+
* Use new http routines in JSONRPCClient
17+
* Remove or change http::headers alias
18+
* Do something about the methods.hpp and fields.hpp type headers
19+
* Fix index in docs
20+
* Fix integer warning in file_body.hpp
21+
* Use make_error_code in websocket to set the category right
22+
* Figure out why namespace rfc2616 is included in docs
23+
(currently disabled via GENERATING_DOCS macro)
24+
* Include Example program listings in the docs
25+
* Update for rfc7230
26+
* HTTP parser size limit with test (configurable?)
27+
* HTTP parser trailers with test
28+
* URL parser, strong URL checking in HTTP parser
29+
* Fix method, use string instead of enum
30+
* More fine grained parser errors
31+
* Fix all the warnings in all projects/build configs
32+
* Fix bidirectional buffers iterators operator->()

doc/.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
html
2+
temp
3+
reference.qbk
4+
out.txt

0 commit comments

Comments
 (0)