I'm working on a fairly large Rails 3 project that by default is run on localhost:5000 for development. I'm currently migrating our web server from unicorn to puma. However, when I run my development server, I constantly get these kinds of errors:
16:11:39 web.1 | 2015-07-02 16:11:39 -0500: HTTP parse error, malformed request (): #<Puma::HttpParserError: Invalid HTTP format, parsing fails.>
16:11:39 web.1 | 2015-07-02 16:11:39 -0500: ENV: {"rack.version"=>[1, 1], "rack.errors"=>#<IO:<STDERR>>, "rack.multithread"=>true, "rack.multiprocess"=>false, "rack.run_once"=>false, "SCRIPT_NAME"=>"", "CONTENT_TYPE"=>"text/plain", "QUERY_STRING"=>"txtAirPlay&txtRAOP", "SERVER_PROTOCOL"=>"HTTP/1.1", "SERVER_SOFTWARE"=>"2.11.2", "GATEWAY_INTERFACE"=>"CGI/1.2", "REQUEST_METHOD"=>"GET", "REQUEST_PATH"=>"/info", "REQUEST_URI"=>"/info?txtAirPlay&txtRAOP"}
16:11:39 web.1 | ---
Research indicates that this is because OS X Yosemite uses port 5000 for AirPlay streaming. I'm looking for a way to remove these errors from my stdout.
- I can't figure out if there's a way to disable AirPlay temporarily, or even if I should be doing that.
- I can't feasibly just change the port my application runs on - this is a fairly large project with a lot of contributors. Trying to just change the port locally sends me down a rabbit hole.
Is there a way to either silently reject these requests or just simply filter them from my stdout? I'm worried I'm missing important signals amongst this noise.