New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite server implementations with GModule #182
Commits on Jun 4, 2016
-
-
vsgi: Rewrite implementations using GModule
Extract common CGI and mock code back into VSGI to avoid dependency between implementations. The CGI base is versioned for the '0.3' major. Examples do not work yet because we need to set 'rpath' correctly. Merge FastCGI and SCGI tests in CGI tests because implementations can only be tested from outside.
-
vsgi: Move implementations in 'src/vsgi/servers'
This is necessary since they must be loadable from a single location in the build directory. This should be ensured by '-rpath' linker option. In the meantime, 'LD_LIBRARY_PATH' can be exported: LD_LIBRARY_PATH=src/vsgi/servers examples/app/app Remove pkg-config and deps files.
-
vsgi: Add '-rpath' to the linker include 'src/vsgi/servers' in the se…
…arch path Examples work and subprojects should work as well.
-
vsgi: Use a 'GLib.HashTable' to load multiple servers with 'Server.@new'
This allow one to obtain multiple instances of different server implementations. Fix the FastCGI server tests since it calls 'Server.@new' twice with the same implementation.
-
-
vsgi: Set '-rpath' relative to '$ORIGIN' now and after installation
Using '$ORIGIN' makes it possible to refer to relative directory for searching server implementations. After the installation, the '-rpath' is set to '$ORIGIN/vsgi/servers' so that it reflects the system-wide folder.
-
vsgi: Use 'Server.@new' as a more generic factory
Replace previous usages with 'Server.new_with_application' which initialize the instance with an initial application callback.
-
Commits on Jun 5, 2016
-
-
vsgi: Add tests to cover 'Server.new'
Ensure that basic implementations exist and can be successfully loaded.