Skip to content

Latest commit

 

History

History
375 lines (228 loc) · 11.5 KB

File metadata and controls

375 lines (228 loc) · 11.5 KB

Documentation and packaging fixes. Switch to sqlite3 until Amalgalite works until MacOS X again.

  • Add a static index page to the quickstart Dir directory.

  • Make the failure to find a mongrel2 binary friendlier.

  • Fix parameter name of ::by_send_ident for auto-mapping by the rest service.

  • Make m2sh.rb write audit log events for modifying actions

  • Add a –why option to m2sh.rb to allow reasons for actions to be logged.

  • Add a convenience delegator to Mongrel2::Config for logging an action.

  • Finish Mongrel2::Config::Log method documentation

  • Remove RDoc sections from Mongrel2::Config::Server, as they made stuff more difficult to find.

  • Add Mongrel2::Config::Server#to_s

  • Make stringified Log events only include parens if the event has a ‘why’ field.

  • Remove extraneous message from m2sh.rb’s quickstart subcommand

  • Add Mongrel2::Config::Server pathname methods for the path attributes (#access_log, #pid_file, etc.).

  • Show the server’s URL at startup

  • Finish Config::Server API docs and add a predicate method for use_ssl

  • Remove shell mode from m2sh.rb.

  • Adds support for websocket handshake in ‘develop’ branch.

  • Adds ‘bootstrap’ and ‘quickstart’ commands to m2sh.rb.

  • Fix the derived path to the async upload body

  • Add a default async upload handler method that cancels the upload

NOTE: This revision contains non-backward-compatible changes to Mongrel2::Request, Mongrel2::Response, and all subclasses.

  • Convert request and response entity bodies to IOish objects instead of Strings.

  • Finished implementation of Mongrel2 async upload API – async-uploaded entity bodies now become File entity bodies of the “X-Mongrel2-Upload-Done” request.

  • Add a few newer-rfc HTTP error codes.

  • Add support for Content-type charsets.

  • Fix a bug when duping a Mongrel2::Table with immediate objects as values.

  • Change Config.settings to a Table.

  • Add support for Mongrel2 async uploads.

  • Add a convenience method to Mongrel2::Handler for fetching its associated config object.

  • Fix typos in m2sh.rb’s exception handler

  • Bumping dependency on Loggability to 0.2.

Fix loggability dependency version.

  • Convert to Loggability for logging.

  • Add an option to bin/m2sh.rb to rewrite the mongrel2 port of a host on the fly at startup.

  • Rename the defaults for Mongrel2::Config. This was changed to conform with Configurability’s defaults API. The old name was aliased to the new for backward-compatibility.

  • Add a Mongrel2::HTTPRequest#remote_ip method. This should support both the current Mongrel (1.7.5) and the future plan for appended X-Forwarded-For headers. [mahlon]

  • Fix a require in mongrel2/testing.

  • Assume paths passed to configure( :configdb ) should use SQLite.

  • Move the “other implementations” section to the bottom of the README.

  • Set API docs to use fivefish if available

  • Fix Mongrel2::Config.dbname.

  • Fix dependencies and the spec that fails when you run against the version of Sequel I was trying to fix in the previous release.

  • Fix the config DB for Sequel 3.34.

Note: This fix includes several API changes

  • Mongrel2::Config.adapter_method is now .sqlite_adapter, and just returns the name of the appropriate adapter instead of a Method object that returns a Sequel::Database.

  • Mongrel2::Config.pathname is now .dbname, and returns either a URI or a String, depending on how the database handle was created.

These changes also will make it easier to use alternative configuration databases, e.g., when I get the PostgreSQL config module working, it’ll be easier to point the config model at it.

  • Make HTTPResponse default to a 200 status if there’s a body.

  • Make the ‘handler’ DSL directive replace any existing handler with its send_ident.

  • Add a validation to ensure that handler configs have unique send/recv specs and IDs.

  • Squelch logging of expected SQL errors. Errors are normal during Mongrel2::Config.db= and .database_initialized?, so add a new .without_sql_logging method for temporarily disabling SQL logging, and wrap that around the methods in quesion.

  • Fix documentation for WebSocket#validate_control_frame

  • Add WebSocket (RFC6455) support

  • Make sure Mongrel2::Config::Host deletes cascade to their routes

  • Init the database outside of the transaction in the “server” DSL method

  • Remove the SAFE test from the request-dumper example

  • Correct the line number of errors in configs loaded from m2sh.rb

  • Log SQL to the logger at DEBUG level

  • Fix the Mongrel2::Config::Server.by_uuid dataset method to return a dataset instead of the instance.

  • Add an alias for #headers -> #header to Mongrel2::Request and Mongrel2::HTTPResponse.

  • Add an OPTIONS request factory method to the Mongrel2::RequestFactory

  • Fix the ZMQ socket identifier used by Connection.

  • Add missing slash in the control socket URI

  • Add an argument so the helloworld handler can use another config DB

  • Fix handling of NO CONTENT (204) responses.

    • Don’t set a Content-type header

    • Omit the body even if there is one

    • Set the content-length to 0

  • Add bodiless response predicate to Mongrel2::HTTPResponse.

  • Add #put and #delete factory methods to the Mongrel2::RequestFactory.

  • Flesh out docs for the Filter config class.

  • Make the DSL declarations replace existing records.

  • Flesh out the documentation for the DSL

  • Provide convenience methods for resetting an HTTP request’s Content-type and Content-encoding headers.

This release includes updates for Mongrel 1.8 and finishes up the m2sh.rb tool.

  • New config class: Mongrel2::Config::Filter

  • New DSL directive inside a ‘server’ section: ‘filter’

  • New methods:

    • Mongrel2::Config.settings

    • Mongrel2::Server

      • #control_socket_uri

- #control_socket - #pid_file_path

  • Added a new Mongrel2::Constants::DEFAULT_CONTROL_SOCKET constant

  • Finished implementation of the rest of the m2sh commands in the ruby analog

  • Adding a “sudo” option to m2sh.rb to start the server as root

  • Enable the json_serializer plugin for the config ORM classes

  • Backing out the change to HTTPResponse to use the @body ivar: changed the negotiation

Bugfix: dup instead of clone to get rid of frozen status.

Bugfix: use a dup of the default content-type constant instead of the String itself.

  • Fix Mongrel2::Table not duping/cloning its internal values.

  • Set a default Content-type header in HTTP responses

  • Split out the normalization of HTTP response headers into two methods for overriding.

  • Add an optional #request attribute to Mongrel2::Response and make Response.from_request set it. This is to make things like content- negotiation less of a pain in the ass.

  • Log request and response both at INFO.

Mongrel2::HTTPRequest enhancements.

  • Added #body= for rewriting the entity body

  • Added convenience methods for fetching the Content-type and Content- encoding headers: #content_type, #content_encoding

  • Switched the specs to use Mongrel2::RequestFactory for making request objects

Enhancements:

  • Added support for POST and HEAD requests to Mongrel2::RequestFactory.

Additions:

  • Added Mongrel2::Config::Server.by_uuid( uuid )

Bugfix:

  • Measure the content-length of HTTPResponse in bytes, not characters.

  • Log unhandled disconnect notices as INFO instead of WARN

Enhancements:

  • Made a stringified connection show the useful parts of the inspect output

  • Mongrel2::Client fixes/documentation updates.

  • Include FileUtils in the ‘m2sh.rb load’ context so configs loaded by it can create run/log directories, etc.

  • Mongrel2::Connection: Set SO_LINGER on the sockets so closing the connection doesn’t wait for unconsumed events.

  • Add missing include to Mongrel2::Handler

  • Added a cleaned-up Mongrel2::Response#inspect like Mongrel2::Request.

  • Correct body size in inspected request/response output.

  • Change the default response status from ‘200 OK’ to ‘204 No Content’

  • Packaging fix

  • Add missing HTTP::CONTINUE constant.

  • Factor out the generically-useful RSpec helper functions into mongrel2/testing.rb and add a RequestFactory.

  • Fix object ID in inspect output, clean up inspected Request/Response objects.

  • Tightened up the mongrel2.org DSL example, remove the accidentally- committed adminserver part.

  • Request dumper now runs under $SAFE = 1

  • Revert examples back to using examples.sqlite

  • Added a bit of CSS to the examples

  • Config DSL: directory: Default the index file to index.html

Fixed some header problems in Mongrel2::HTTPResponse:

  • Re-calculate content-length and date headers on each render.

  • Don’t clear headers passed to the constructor.

Update dependency to rbzmq-2.1.4 for ZMQ::Error.

Memoize Mongrel2::Request#response, and add Mongrel2::Request.response_class to allow for easy overriding of the response type.

Added a shim to work around lack of ZMQ::Error in zmq-2.1.3.

Initial release.