Go to file
Joris Vink 83a16763c8 Always NUL-terminate an asset its data.
This way developers can cast assets to char * without first
having to convert it to a proper C string.

The NUL character is NOT included in the length of the asset.
2014-08-18 13:57:06 +02:00
conf Move the default pid file to kore.pid instead of /var/run/kore.pid 2014-08-05 13:10:34 +02:00
examples Add KORE_PGSQL_STATE_WAIT to our example 2014-08-15 12:39:31 +02:00
includes Make http_status_text() return a const char 2014-08-18 10:37:13 +02:00
src Always NUL-terminate an asset its data. 2014-08-18 13:57:06 +02:00
.gitignore Ignore DSYM on osx 2014-04-12 18:49:32 +02:00
LICENSE Keep on hackin' Keep on hackin' 2014-04-24 11:18:40 +02:00
Makefile When compiling with PGSQL, note the include dir for "kore build" 2014-08-03 17:33:40 +02:00
README.md Bump to spdy/3.1 2014-08-08 14:48:51 +02:00

README.md

About

Kore (https://kore.io) is an ultra fast web server / framework for web applications developed in C. It provides a set of API functions you can use to build a dynamic library which is loaded into Kore directly.

Kore is an ideal candidate for developing robust, fast and safe web applications.

Features

  • Supports SNI
  • Supports SPDY/3.1
  • Supports HTTP/1.1
  • Lightweight background tasks
  • Built-in parameter validation
  • Only HTTPS connections allowed
  • Multiple modules can be loaded at once
  • Built-in asynchronous PostgreSQL support
  • Load your web application as a precompiled C library
  • Modules can be reloaded on-the-fly, even while serving content
  • Event driven (epoll/kqueue) architecture with per CPU core worker processes

License

  • Kore is licensed under the ISC license

Platforms supported

  • Linux
  • OpenBSD
  • FreeBSD
  • OSX

See https://kore.io/doc/#section1.1 for more information.

Releases

Building Kore

Requirements

  • libz
  • openssl >= 1.0.1g

Requirements for background tasks

  • pthreads

Requirements for pgsql

  • libpq

Normal compilation and installation:

# git clone https://github.com/jorisvink/kore.git
# cd kore
# make
# make install

If you would like to build a specific flavor, you can enable those by setting a shell environment variable before running make.

  • TASKS=1 (compiles in task support)
  • PGSQL=1 (compiles in pgsql support)
  • DEBUG=1 (enables use of -d for debug)
  • BENCHMARK=1 (compiles Kore without OpenSSL)
  • KORE_PEDANTIC_MALLOC=1 (zero all allocated memory)

Example libraries

You can find example libraries under examples/.

The examples contain a README file with instructions on how to build or use them.

I apologize for unclear examples or documentation, I am working on improving those.

Bugs, contributions and more

If you run into any bugs, have suggestions or patches please contact me at joris@coders.se.

More information can be found on https://kore.io/