EiffelWebFramework / Ewf

Licence: other
Eiffel Web Framework -- Provide a common framework to build easily web server application in Eiffel (portable on various connector and platforms)

Projects that are alternatives of or similar to Ewf

Lear
Linux Engine for Asset Retrieval - speed-profiled C HTTP server
Stars: ✭ 165 (+385.29%)
Mutual labels:  server, httpd
Littlewin.server
A blog backend server based on koa + mongoose.
Stars: ✭ 32 (-5.88%)
Mutual labels:  server
Start Server And Test
Starts server, waits for URL, then runs test command; when the tests end, shuts down server
Stars: ✭ 879 (+2485.29%)
Mutual labels:  server
Zeus
A high performance, cross-platform Internet Communication Engine. Developed with native socket API. Aim at handling millions of concurrent connections.
Stars: ✭ 30 (-11.76%)
Mutual labels:  server
Aidp
weiboAd Infrastructure Data Processor : kafka consumer embedded Lua scripting language in data process framework
Stars: ✭ 20 (-41.18%)
Mutual labels:  server
Emodbus
Modbus library for both RTU and TCP protocols. Primarily developed on and for ESP32 MCUs.
Stars: ✭ 29 (-14.71%)
Mutual labels:  server
Tinytcpserver
A small tcp server working under Mono or .NET (4.0) and provides hooks for handling data exchange with clients (works under mono and .net). Behaviour/protocol/reaction could be specified via custom C# script.
Stars: ✭ 14 (-58.82%)
Mutual labels:  server
Freedom
Freedom是一个基于六边形架构的框架,可以支撑充血的领域模型范式。
Stars: ✭ 972 (+2758.82%)
Mutual labels:  server
Katan
🎮 Katan is a fast, simple and modularly adaptable panel built to manage game servers running isolated in Docker containers.
Stars: ✭ 32 (-5.88%)
Mutual labels:  server
Orion Core
The next generation Terraria Server API.
Stars: ✭ 28 (-17.65%)
Mutual labels:  server
Go Bootstrap
Easy way to bootstrap a web server in Go (Routing|Middleware|Https)
Stars: ✭ 27 (-20.59%)
Mutual labels:  server
Boilerplate Nodejs Swagger
A Node.js RESTful API application boilerplate with TypeScript, Docker, Koa, Swagger, Jest, and CircleCI
Stars: ✭ 21 (-38.24%)
Mutual labels:  server
Borealis Server Manager
Utility designed to facilitate the deployment, management, and control of various kinds of dedicated gameservers.
Stars: ✭ 31 (-8.82%)
Mutual labels:  server
Connect2ssh
Manage SSH and SSHFS connections via the command line using BASH!
Stars: ✭ 15 (-55.88%)
Mutual labels:  server
Phenopolis
An Open Platform for Harmonisation & Analysis of Sequencing & Phenotype Data
Stars: ✭ 32 (-5.88%)
Mutual labels:  server
Firenet
Deprecated master server for creating MMO games based on CRYENGINE
Stars: ✭ 14 (-58.82%)
Mutual labels:  server
Pandorabox.io
Pandorabox infrastructure code
Stars: ✭ 27 (-20.59%)
Mutual labels:  server
Openps3ftp
An open source FTP server for the PlayStation 3.
Stars: ✭ 29 (-14.71%)
Mutual labels:  server
Kitura
A Swift web framework and HTTP server.
Stars: ✭ 7,533 (+22055.88%)
Mutual labels:  server
Docker Mediawiki
🐳 Dockerized Femiwiki's mediawiki server
Stars: ✭ 33 (-2.94%)
Mutual labels:  server

Eiffel Web Framework

Build Status

Overview

The Eiffel Web Framework (EWF) provides Eiffel users with a layer to build anything on top of the http protocol such as websites, web API/services.

This layer is multi-platform: it can be set on Windows, Linux operating systems, and in addition it can run on top of any httpd servers such as Apache2, IIS, nginx, lighttpd. EWF includes as well a standalone httpd web server component, written in Eiffel, which enables users to run easily a web server on their machine, or even embed this component in any application written with Eiffel.

Currently EWF offers a collection of Eiffel libraries designed to be integrated with each others, and among other functionalities, it give simple access to the request data, to handle content negotiation, url dispatcher, integrate with openid system, and so on.

There is a growing ecosystem around EWF, that provides useful components:

  • OpenID and OAuth consumer library
  • Various hypermedia format such as HAL, Collection+json, ...
  • Websocket server and client
  • Template engine
  • API Auto-documentation with swagger
  • A simple experimental CMS.
  • ...

So if you want to build a website, a web api, RESTful service, ... or even if you want to consume other web api, EWF is a solution.

EWF brings with it all the advantages of the Eiffel technology and tools with its powerful features such as Design by Contract, debugging, testing tools which enable to build efficient systems expected to be repeatedly refined, extended, and improved in a predictable and controllable way so as to become with time bugfree systems. Enjoy the full power of debugging your web server application from the IDE.

Project

Official project site for Eiffel Web Framework:

For more information please have a look at the related wiki:

For download, check

Tasks and issues are managed with github issue system

Requirements

  • Compiling from EiffelStudio 16.05 to 17.05 and more recent version of the compiler.
  • Currently being developped using EiffelStudio 17.01 (on Windows, Linux)
  • Tested using EiffelStudio 17.01 with "jenkins" CI server.
  • The code have to allow void-safe compilation and non void-safe system (see more about void-safety

How to get the source code?

Using git

  • git clone https://github.com/EiffelWebFramework/EWF.git

  • And to build the required and related Clibs

    • cd contrib/ise_library/cURL
    • geant compile

Libraries under 'library'

server

  • ewsgi: Eiffel Web Server Gateway Interface read more
    • connectors: various web server connectors for EWSGI
  • libfcgi: Wrapper for libfcgi SDK
  • wsf: Web Server Framework read more
    • router: URL dispatching/routing based on uri, uri_template, or custom read more

protocol

  • http: HTTP related classes, constants for status code, content types, ... read more
  • uri_template: URI Template library (parsing and expander) read more
  • CONNEG: Content negotiation library (Content-type Negociation) read more

client

  • http_client: simple HTTP client based on cURL read more

text

  • encoder: Various simpler encoders: base64, url-encoder, xml entities, html entities read more

Others

  • error: very simple/basic library to handle error

Draft folder = call for contribution

Examples

..

Contributing to this project

Anyone and everyone is welcome to contribute. Please take a moment to review the guidelines for contributing.

Community

Keep track of development and community news.

For more information please have a look at the related workbook documentation

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].