Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #5425

Closed
Open
Created Mar 20, 2012 by David Fifield@dcf

Decouple flash proxy facilitator front- and backend

The flash proxy facilitator uses Python http://docs.python.org/library/basehttpserver.html, which means it's stuck with a substandard web server and a substandard event model. It should be rewritten to have a small web frontend that communicates with a local process that keeps facilitator state.

This will allow us to use a real web server with TLS. The frontend is responsible only for checking the syntax of requests, passing them on to the local facilitator process, reading the result, and passing them back on to the web client. (Maybe the frontend can also be responsible for rate limiting.) I don't think there's anything that needs to block for a long time.

The backend can be written in C and libevent, for example. The web frontend gives it a layer of input sanitization. libevent will allow proper timers for expiring registrations, which is awkward in the BaseHTTPServer model. The backend can save state across restarts. I envision a simple test-based protocol for communication between the front- and backends.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking