The Icecast source protocol is built on HTTP. Since Icecast 2.4 it uses the PUT verb which is in the HTTP specs, in the past SOURCE was used. Very old Icecast compatible encoders might also send ICE/ instead of HTTP/. It is best not to check on those.
[2] Icecast Protocol specification (2017-01-22 13:45:12 +09:00) <https://gist.github.com/ePirat/adc3b8ba00d85b7e3870>
icecast://[username[:password]@]server:port/mountpoint