Olivier Ligot 10c02219e3 Use execution_variable instead of context
This is mainly to be compatibe with other classes API.

In a lot of classes, we define methods like this:
```Eiffel
 method (req: WSF_REQUEST; res: WSF_RESPONSE)
    do
        ...
    end
```

With the context, the signature becomes:
```Eiffel
 method (ctx: C; req: WSF_REQUEST; res: WSF_RESPONSE)
    do
        ...
    end
```

So, I can't build a filter chain where one filter is with context
and one is without context (I can't call
WSF_FILTER.set_next (a_next: WSF_FILTER) with a filter that is a
descendant of WSF_CONTEXT_HANDLER).

Moreover, having to play with generic types just to pass some
data from one filter to another is a bit overkill imho.
Because this is really what I use contexts for:
to pass data from one filter to the next one.

Regarding execution_variable and strong typing, if we want to achieve these,
I realize we could write a class with one getter and one setter like this:

```Eiffel
  class
    TYPED_DATA

  feature -- Access

  user (req: WSF_REQUEST): detachable USER
    do
        if attached {USER} req.execution_variable ("user") as l_user then
            Result := l_user
        end
    end

  feature -- Element change

  set_user (req: WSF_REQUEST; a_user: USER)
    do
        req.set_execution_variable ("user", a_user)
    end
```

Now, I realize this is a major change since the last time we talked about this,
but at the end, after having played with both, I prefer the one with
execution_variable.
2013-01-23 10:20:03 +01:00
2012-12-20 15:40:42 +01:00
2012-12-22 16:18:52 +01:00
2012-12-22 16:18:52 +01:00
2012-04-02 09:28:10 +02:00
2012-05-03 18:29:46 +02:00
2012-05-14 21:41:43 +02:00
2011-09-23 18:34:44 +02:00
2011-07-07 17:24:21 +02:00
2012-11-23 22:52:20 +01:00

Eiffel Web Framework

Overview

Official project site for Eiffel Web Framework:

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

For download, check

Requirements

  • Compiling from EiffelStudio 7.0
  • Developped using EiffelStudio 7.1 (on Windows, Linux)
  • Tested using EiffelStudio 7.1 with "jenkins" CI server (not anymore compatible with 6.8 due to use of `TABLE_ITERABLE')
  • 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 version >= 1.6.5

Otherwise, try

An alternative to the last 2 instructions is to use the script from tools folder:

  • cd tools

  • update_git_working_copy

  • 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: CONNEG 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

crypto

  • eel
  • eapml

Others

  • error: very simple/basic library to handle error

External libraries under 'contrib'

Draft folder = call for contribution

Examples

..

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

Description
No description provided
Readme 19 MiB
Languages
Eiffel 61.3%
JavaScript 23.5%
C 6.7%
CSS 2.9%
CoffeeScript 2.5%
Other 3.1%