<commit_before>=== HTTP Server
:Author:    <NAME>
:Email:     <EMAIL>

****
wodson is implemented as a http server extension. Authentification and session handling is done using HTTP server middleware.
****

[ditaa]
....
     +-------------------------+
     +       ods client        +
     +-------------------------+
     +      http library       +
     +-------------------------+
                 ^
                 | Network
                 v
     +--------------------------+
     +      http server         +
     +--------------------------+
     +  http server middleware  +
     +--------------------------+
     +       ods server         +
     +--------------------------+
....

==== HTTP Middleware

An http server normally contains functionallity that should be available for all requests independent of the module they belong too. 

Things like this are:

- Authentification
- Session persistence
- Logging
- ...

These things are made available for all server modules. 
Wodson will also make use of this central services offered by the webserver itself.

===== Authentification

There are different kind of authentification mechanisms like basic auth or OAuth.
The result for watson is only that it is possible to identify the current authentified
user. The user can be used to bridge/map to ASAM security.

===== Session

There are different implementation of session middleware. They are used to 
allow some kind of persistent configuration stored based on the configuration 
of the middleware. Most of the implementations allow a lot of different 
session storage, starting from memory over file to central database.
Wodson will store its con settings persistent in such an session middleware.<commit_msg>added beaker comment<commit_after>=== HTTP Server
:Author:    <NAME>
:Email:     <EMAIL>

****
wodson is implemented as a http server extension. Authentification and session handling is done using HTTP server middleware.
****

[ditaa]
....
     +-------------------------+
     +       ods client        +
     +-------------------------+
     +      http library       +
     +-------------------------+
                 ^
                 | Network
                 v
     +--------------------------+
     +      http server         +
     +--------------------------+
     +  http server middleware  +
     +--------------------------+
     +       ods server         +
     +--------------------------+
....

==== HTTP Middleware

An http server normally contains functionallity that should be available for all requests independent of the module they belong too. 

Things like this are:

- Authentification
- Session persistence
- Logging
- ...

These things are made available for all server modules. 
Wodson will also make use of this central services offered by the webserver itself.

===== Authentification

There are different kind of authentification mechanisms like basic auth or OAuth.
The result for watson is only that it is possible to identify the current authentified
user. The user can be used to bridge/map to ASAM security.

===== Session

There are different implementation of session middleware. They are used to 
allow some kind of persistent configuration stored based on the configuration 
of the middleware. Most of the implementations allow a lot of different 
session storage, starting from memory over file to central database.

Wodson uses https://github.com/bbangert/beaker[Beaker] to store its con settings persistent. 
By default a session-id signed with a given secret that needs to be replaced.
It is strongly configurable how the session is handled.

{'fraction_non_alphanumeric': 0.15403761061946902, 'fraction_numerical': 0.0, 'mean_word_length': 1.8751987281399045, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4724402', 'n_tokens_mistral': 829, 'n_tokens_neox': 808, 'n_words': 397}