Legacy:LibHTTP/NewsFeed - Unreal Wiki

# Legacy:LibHTTP/NewsFeed

### From Unreal Wiki, The Unreal Engine Documentation Site

< Legacy:LibHTTP

    class mutNewsFeed extends mutator;

    var HttpSock hs;
    var NewsFeed nf;

    event prebeginplay()
    {
            hs = spawn(class'LibHTTP.HttpSock');
            hs.OnComplete = DownloadCompleted;
            hs.OnError = DownloadError;
            nf = new class'LibHTTP.NewsFeed';
            Log("------ NewsFeed loaded --------");
    }

    function Mutate(string MutateString, PlayerController Sender)
    {
            local array<string> mut;
            Super.Mutate(MutateString, Sender);
            Split(MutateString, " ", mut);
            if (mut[0] ~= "rdf")
            {
                    if (mut[1] ~= "fetch")
                    {
                            if (Caps(nf.Source) != Caps(mut[2]))
                            {
                                    nf.Source = mut[2];
                                    hs.HttpRequest(nf.Source);
                                    Level.Game.BroadcastHandler.BroadcastText(none, Sender, "RDF> Retreiving news ...");
                            }
                            else Log("RDF> News from"@nf.ChannelTitle@"available");
                    }
                    else {
                            if (int(mut[1]) < nf.Entries.length)
                                    Level.Game.BroadcastHandler.BroadcastText(none, Sender, "NEWS>"@nf.ChannelTitle@" - "@nf.Entries[int(mut[1])].Title);
                                    else Level.Game.BroadcastHandler.BroadcastText(none, Sender, "RDF> Only"@nf.Entries.length@"news items available");
                    }
            }
    }

    function DownloadCompleted()
    {
            if (hs.LastStatus == 200)
            {
                    nf.LastUpdate = hs.now();
                    nf.ParseRDFData(hs.ReturnData);
                    if (nf.Entries.length > 0) Level.Game.BroadcastHandler.Broadcast(self, "RDF> News from"@nf.ChannelTitle@"available");
            }
    }

    function OnError(string ErrorMessage, optional string Param1, optional string Param2)
    {
            Level.Game.BroadcastHandler.Broadcast(self, "RDF> Download error:"@ErrorMessage@Param1@Param2);
    }

##### Views

- Legacy
- Discussion
- Current revision

##### Search