### 0.1.0 / 2023-XX-XX * Extracted and refactored from [ronin-web](https://github.com/ronin-rb/ronin-web/tree/v0.3.0.rc1). * Relicensed as LGPL-3.0. * Initial release: * Requires `ruby` >= 3.0.0. * Provides a [Sinatra][sinatra] based {Ronin::Web::Server::Base web server base class}. * Supports additional routing helper methods: * `any` - matches any HTTP request method. * `default` - default response for the app. * `basic_auth` - enables Basic-Auth for the app. * `redirect` - adds a redirect to a given URL for the given path. * `file` - mounts a local file to the given path. * `directory` - mounts a local directory of files at the given path. * `public_dir` - mounts the files/directories within the directory to the root of the app. * `vhost` - routes all requests for the given host to another app. * `mount` - routes all requests for a given directory to another app. * Supports additional routing conditions: * `client_ip` - matches the client IP Address that sent the request. * `asn` - matches the AS number of the client's IP address. * `country_code` - matches the country code of the ASN information for the client's IP address. * `asn_name` - matches the company/ISP name of the ASN information for the client's IP address. * `host` - matches the `Host` header. * `referer` - matches the `Referer` header of the request. * `user_agent` - matches the `User-Agent` header of the request. * `browser` - matches the browser name from the `User-Agent` header of the request. * `browser_vendor` - matches the browser vendor from the `User-Agent` header of the request. * `browser_version` - matches the browser version from the `User-Agent` header of the request. * `device_type` - matches the device type of the `User-Agent` header of the request. * `os` - matches the OS from the `User-Agent` header of the request. * `os_version` - matches the OS version from the `User-Agent` header of the request.