protected override void HandleValidRequest(Socket client, string[] split_request, string[] request_headers) { if (split_request == null || split_request.Length != 3 || split_request[0] != "GET") { WriteResponse(client, HttpStatusCode.BadRequest); return; } var requestUrl = split_request[1]; if (TRACK_REGEX.IsMatch(requestUrl)) { var match = TRACK_REGEX.Match(requestUrl); var url = api.PlayTrack(match.Groups[1].Value); if (!string.IsNullOrEmpty(url)) { WriteRedirect(client, url); } else { WriteResponse(client, HttpStatusCode.InternalServerError); } } else { WriteResponse(client, HttpStatusCode.NotFound); } }