Commit Graph
90 Commits
Author SHA1 Message Date
Olivier Ligot 5d6e3c69ee Fix filter example: logging filter must be the last one 2014-09-18 13:29:24 +02:00
Olivier Ligot 984d04e972 Filter example: add fcgi target 2014-09-17 17:11:37 +02:00
Olivier Ligot 83486ae0cc Fix authentication filter: use {HTTP_AUTHORIZATION}.is_basic 2014-09-17 15:40:43 +02:00
Olivier Ligot 0404627153 Merge remote-tracking branch 'upstream/master' 2014-07-11 15:00:20 +02:00
Olivier Ligot a826051979 Merge remote-tracking branch 'upstream/master' 2014-05-22 22:09:00 +02:00
Olivier Ligot 655c95158f json: comment '* text=auto' in .gitattributes 2014-03-03 14:18:07 +01:00
Olivier Ligot d26c68cd1e Start to write documentation about connectors 2013-09-28 16:40:02 +02:00
oligot 44d8903a10 Created Filter (markdown) 2013-09-12 02:18:05 -07:00
Olivier Ligot 113c52f6b0 README.md: Remove dot in the community section 2013-09-12 10:27:45 +02:00
Olivier Ligot e29a4c8c8a Added Community section to the README.md file 2013-09-12 10:25:17 +02:00
oligot f5d5381fae Updated Router (markdown) 2013-09-04 05:04:21 -07:00
oligot bbc3249212 Updated Router (markdown) 2013-09-04 05:01:42 -07:00
oligot 625b8803df Updated Request and response (markdown) 2013-09-04 04:59:59 -07:00
oligot 0d8090b6f4 Updated Request and response (markdown) 2013-09-04 04:59:14 -07:00
oligot 718c0af085 Updated Request and response (markdown) 2013-09-04 04:59:04 -07:00
oligot 5a94264dc0 Created Router (markdown) 2013-09-04 04:55:14 -07:00
oligot 8269f3ea5b Updated Connectors (markdown) 2013-09-04 04:54:04 -07:00
oligot d6333362a7 Created Request and response (markdown) 2013-09-04 04:53:30 -07:00
oligot 3e43fd52ae Created Connectors (markdown) 2013-09-04 04:52:22 -07:00
Olivier Ligot 1111333223 Contribute page 2013-09-04 13:38:44 +02:00
oligot cc1abfd1f9 Updated Web meeting 2012 09 18 (markdown) 2013-08-23 06:39:41 -07:00
oligot 771c91227e Updated Useful links (markdown) 2013-08-23 06:38:37 -07:00
oligot 1276ea0d1b Updated Tasks Roadmap (markdown) 2013-08-23 06:37:46 -07:00
oligot 611ce6eb9c Updated Projects new suggestions (markdown) 2013-08-23 06:31:09 -07:00
oligot 2870df8478 Updated Projects new suggestions (markdown) 2013-08-23 06:30:45 -07:00
oligot 59b2163a62 Updated Projects (markdown) 2013-08-23 06:29:39 -07:00
oligot 065318749b Updated Projects (markdown) 2013-08-23 06:28:49 -07:00
oligot 600ee095cc Updated Projects (markdown) 2013-08-23 06:27:03 -07:00
oligot ecb49619da Updated Projects (markdown) 2013-08-23 06:25:31 -07:00
oligot b73939d0a0 Updated Meetings (markdown) 2013-08-23 06:21:00 -07:00
oligot 6c83639149 Updated Home (markdown) 2013-08-23 06:16:24 -07:00
oligot e77ee9bdf3 Updated Home (markdown) 2013-08-23 06:15:49 -07:00
oligot 9449f0d16e Updated Home (markdown) 2013-08-23 06:12:00 -07:00
oligot 4ff29e1fb3 Updated Home (markdown) 2013-08-23 06:11:23 -07:00
oligot 4de85df5b6 Updated EWSGI specification (markdown) 2013-08-23 06:07:26 -07:00
oligot 294ccb04d3 Updated EWSGI specification (markdown) 2013-08-23 06:06:49 -07:00
oligot 4f0567ad88 Updated EWSGI (markdown) 2013-08-23 06:05:10 -07:00
oligot 65c613d0a4 Links 2013-08-23 06:01:52 -07:00
oligot a16bca2f29 Links 2013-08-23 05:48:02 -07:00
Olivier Ligot e8c66fa769 Fix C compilation when using libfcgi connector on OS X (#65) 2013-07-19 18:51:43 +02:00
Olivier Ligot 0fca8daeb1 Tests compile again (fixes #63) 2013-07-11 16:46:38 +02:00
Olivier Ligot c27f57adf1 Rename notification to notification_email 2013-06-12 13:55:14 +02:00
Olivier Ligot 6fbe66ff7b Extract notification library from the CMS draft application
The new library is located in library/runtime/process/notification.
This allows to use it apart from the CMS.
2013-06-12 11:31:31 +02:00
Olivier Ligot b4ec6fdff8 Socket: reuse address to resolve the error "address already in use"
On Unix, when we stop the server, and then re-start it right away, we get an
error that the address is already in use:
http://www.softlab.ntua.gr/facilities/documentation/unix/unix-socket-faq/unix-socket-faq-4.html#ss4.1
This means that the sockets that were used by the first incarnation of the
server are still active.

One way to resolve this is to set the socket option SO_REUSEADDR:
http://www.softlab.ntua.gr/facilities/documentation/unix/unix-socket-faq/unix-socket-faq-4.html#ss4.5

Tested on Ubuntu 12.04 LTS
2013-05-29 11:14:58 +02:00
Olivier Ligot 35729b4ab6 Use port number 9090 instead of 80
Port 80 is often already used by standard webservers (Apache, nginx, ...).
Moreover, on Linux, ports below 1024 can only be opened by root.
2013-05-27 09:15:12 +02:00
Olivier Ligot c9b44414b1 Fix the CSS so that we don't see the scrollbar
This commit fixes the CSS so that we don't see the scrollbar anymore.
It just removes the width: 100% property on the div elements.
2013-05-17 16:33:00 +02:00
Olivier Ligot d8987f8718 Display suggestion is now configurable.
Commit 665772bda2 forces to display only
suggestion for the request's method (this was not the case before).

This commit allows to configure this behaviour: it keeps the current behaviour
but also allows to use the other behaviour where the suggestion is displayed
for each request method (as it was before).
2013-05-17 15:36:37 +02:00
Olivier Ligot 1198d6cef4 Merge remote-tracking branch 'upstream/master' into cors 2013-03-15 14:54:43 +01:00
Olivier Ligot 2ff2dbb7c3 Merge branch 'cors' of github.com:oligot/EWF into cors 2013-03-15 14:19:52 +01:00
Olivier Ligot c8845e7354 Fix indentation 2013-03-15 14:18:13 +01:00
Olivier Ligot dde70512d8 Use features from the flexible_response branch 2013-03-15 14:15:17 +01:00
Olivier Ligot 69495e69a9 Filter example: remove unused libraries in ecf file 2013-03-15 13:44:24 +01:00
Olivier Ligot 45f0971594 Use new upstrem method put_header_key_values 2013-03-15 13:38:40 +01:00
Olivier Ligot 496b831956 Merge remote-tracking branch 'jocelyn/flexible_response' into cors
Conflicts:
	examples/filter/filter-safe.ecf
	examples/filter/src/filter_server.e
	library/network/protocol/http/src/http_header.e
	library/server/wsf/src/wsf_response.e
2013-03-15 13:33:13 +01:00
Olivier Ligot 12404a2d5c CORS: respect specification regarding Access-Control-Allow-Headers
According to the specification, the value of the response header
Access-Control-Allow-Headers must contain at least all the values of the
request header Access-Control-Request-Headers to be considered a valid request.
Before this commit, only the Authorization value was present, which is enough
for Firefox but not for Chrome.
This should now work as expected.
2013-02-22 15:58:09 +01:00
oligot 0eff04c847 Add support for Apache logging: done 2013-02-03 04:10:46 -08:00
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
Olivier Ligot c89a3f007f Added {HTTP_HEADER}.put_header_key_values
This is mainly a refactoring that is useful for an upcoming PR
regarding CORS (smaller patches are better...)

Note that this also fixes a small typo where an extra space was
added when calling {HTTP_HEADER}.put_allow
2013-01-22 17:09:23 +01:00
Olivier Ligot af58d87d79 Filter example: all libraries are now readonly 2013-01-22 16:42:53 +01:00
Olivier Ligot ff57d0ecd4 Cross-Origin Resource Sharing initial support
Initial support for the Cross-Origin Resource Sharing specification.
This allows JavaScript to make requests across domain boundaries.

Also reviewed the filter example to get rid of the context and
the generic classes (we can actually use {WSF_REQUEST}.execution_variable
and {WSF_REQUEST}.set_execution_variable).

Links:
* How to enable server-side: http://enable-cors.org/server.html
* Specification: http://www.w3.org/TR/cors/
* Github: http://developer.github.com/v3/#cross-origin-resource-sharing
2013-01-09 17:34:50 +01:00
Olivier Ligot aadfdec1ae Fix a small typo: you are instead of your are 2013-01-07 11:11:42 +01:00
Olivier Ligot ed325f81e1 use /usr/lib/libfcgi.so instead of /usr/local/lib/libfcgi.so
This was already fixed in libfcgi.ecf
(commit 65a998cec3)
This fixes the libfcgi-safe.ecf file
2012-12-12 13:34:50 +01:00
Olivier Ligot 233de09c48 Fix {JSON_OBJECT}.hash_code implementation
Don't call {HASH_TABLE}.item_for_iteration when {HASH_TABLE}.off
Use {HASH_TABLE}.out instead
2012-12-10 17:39:22 +01:00
Olivier LigotandJocelyn Fiat 4ed8365afe ise_wizard Unix shell scripts 2012-12-05 22:30:16 +01:00
Olivier LigotandJocelyn Fiat a6ca54f958 Fix ise_wizard
* ewf.ini was used instead of template.ecf as configuration file
* remove initialize_router otherwise the compilation failed
* remove unused variables
2012-12-05 22:30:14 +01:00
Olivier LigotandJocelyn Fiat 075ac1d628 Logging filter
The logging filter is now part of EWF core (before it was only available in
the filter example) and can therefore be reused by others needing it.
Note that this is a first implementation. It can certainly be improved in
the future to support more fine grained logging.
2012-12-05 22:30:12 +01:00
Olivier Ligot eb676bd14b ise_wizard Unix shell scripts 2012-12-04 14:42:09 +01:00
Olivier Ligot e9376b5d16 Fix ise_wizard
* ewf.ini was used instead of template.ecf as configuration file
* remove initialize_router otherwise the compilation failed
* remove unused variables
2012-12-03 17:37:26 +01:00
Olivier Ligot fc8188aeb1 Logging filter
The logging filter is now part of EWF core (before it was only available in
the filter example) and can therefore be reused by others needing it.
Note that this is a first implementation. It can certainly be improved in
the future to support more fine grained logging.
2012-12-03 16:29:12 +01:00
oligot 2b92ba9e62 Updated Useful links (markdown) 2012-11-22 11:28:17 -08:00
oligot c23bf7a05d Created Useful links (markdown) 2012-11-22 04:30:08 -08:00
oligot 92cbf48b49 Updated Projects new suggestions (markdown) 2012-10-08 03:38:12 -07:00
oligot eea428831c Updated Web meeting 2012 09 18 (markdown) 2012-09-18 06:57:38 -07:00
oligot 2b82e7f07f Updated Web meeting 2012 09 18 (markdown) 2012-09-17 11:42:18 -07:00
oligot 6e76747772 Created Web meeting 2012 09 18 (markdown) 2012-09-14 01:16:00 -07:00
Olivier Ligot 6cd21c39eb [FIX] Indentation 2012-09-12 22:01:13 +02:00
Olivier Ligot f361ce65c6 [FIX] Convertion from HASH_TABLE keys to JSON 2012-09-12 20:05:49 +02:00
Olivier Ligot d01bccbc84 Merge branch 'master' into fix_hash_table_converter 2012-09-12 19:54:06 +02:00
Olivier Ligot 42b971f28e [FIX] Unknown identifier 'unescaped_string' 2012-09-12 17:14:49 +02:00
Olivier Ligot b33d471cf8 [FIX] Path to libraries 2012-09-05 14:18:43 +02:00
Olivier Ligot 7ba863f43c Merge remote-tracking branch 'upstream/master' into filter 2012-09-05 14:08:41 +02:00
oligot 15d12b86aa Add support for Swagger 2012-08-24 02:54:47 -07:00
Olivier Ligot 74334e665d [ADD] Filter: pre-process incoming data and post-process outgoing data
Filters are part of a filter chain, thus following the chain of responsability
design pattern.
More information are available in library/server/wsf/src/filter/README.md
2012-08-10 10:09:59 +02:00
Olivier Ligot aedf8ec1cd [FIX] Convertion from DS_HASH_TABLE keys to JSON
This is useful when the type of the key is something else than a STRING
and we have a JSON converter for this type.
2012-08-02 14:06:48 +02:00
Olivier LigotandJocelyn Fiat ff713a42ab [REM] Remove unneeded precondition 2012-04-02 09:28:22 +02:00
Olivier LigotandJocelyn Fiat 155c45be6c [IMP] Ignore *.swp files 2012-04-02 09:28:10 +02:00
Olivier Ligot 425c276051 [REM] Remove unneeded precondition 2012-03-27 11:30:42 +02:00
Olivier Ligot 0040e4b0d0 [IMP] Ignore *.swp files 2012-03-27 11:29:33 +02:00
Olivier Ligot b862065c04 Merge branch 'master', remote branch 'upstream/master' 2012-03-26 17:19:02 +02:00
Olivier Ligot f3c779cf6e [FIX] libfcgi.so location
On Ubuntu 10.04 LTS, libfcgi.so is in /usr/lib instead of /usr/local/lib
2012-02-10 14:01:04 +01:00