Ejemplo n.º 1
0
        private static bool CheckForID(HttpListenerResponse response, HttpListenerRequest request)
        {
            //Check the query, first for if it's an iD
            string idHeader = request.QueryString.Get("id");

            if (idHeader == null)
            {
                return(false);
            }
            else
            {
                //Search for the .rgps.temp file

                FileStream FS = TempFileManager.OpenFile(idHeader);

                if (FS == null)
                {
                    WriteResponseBinary(response, "no file found with that id.");
                    return(true);
                }

                //  Console.WriteLine("Transferring Content... of " + idHeader);

                Stream s = response.OutputStream;

                byte[] buffer     = new byte[2048];
                int    amountRead = 1;

                //Simple transfer loop.
                while (true)
                {
                    amountRead = FS.Read(buffer, 0, buffer.Length);

                    // Console.WriteLine($"Amount Read {amountRead}  -  Total Bytes Read {totalTransferred}");

                    if (amountRead <= 0)
                    {
                        break;
                    }

                    s.Write(buffer, 0, amountRead);
                }

                FS.Close();

                TempFileManager.Delete(idHeader);

                GC.Collect();

                return(true);
            }
        }