Main Site Documentation

Wifi RN171 module


#1

I’ve noticed that with this wifi module the first headerdata is consistently discarded so I end up having to do something like this. Just wanted to report the bug and maybe get a fix!
request.Response.HeaderData[“nope”] = “nope”;
request.Response.HeaderData[“Content-type”] = “image/jpeg”;


#2

Can you inspect the header data variable and see if it is missing the first header after you add it and the second? Is it only in sending a response or does it affect requests too?


#3

The header is in the object (index 0 of the array); and I can only speak for response, I’ve not noticed any problem with requests


#4

@ jstone05 - Could you please provide a minimal example that will demonstrate the issue? Also, what browser are you using when you notice the drop?


#5

This is more or less the code I’m using to generate the problem (I can include more if needed)

I’ve also included the fiddler2 snips where you can see that for some reason the first content type args are being appended to the ResponseStatus


void wifi_RN171_HttpRequestReceived(GTM.GHIElectronics.HttpStream request)
        {
            //http://192.168.1.1/index.html
            string requestedURL = request.Request.URL;
            switch (requestedURL)
            {
                default:
                    webpage(request);
                    break;
            }

        }
private void webpage(HttpStream request)
        {
            string document = "<html><body><h1> Hello World </h1></body></html>";
            //request.Response.HeaderData["nope"] = "nope";
            request.Response.HeaderData["Content-type"] = "text/html";
            request.Response.HeaderData["Content-Length"] = document.Length.ToString();
            request.Response.HeaderData["Connection"] = "close";
            request.Response.HeaderData["Cache-Control"] = "no-cache";
            request.Response.StatusCode =           GTM.GHIElectronics.HttpResponse.ResponseStatus.OK;
            //All you have to do is send the document data through the response object.                 
            //Header data is automatically applied for you when you chose to send.                 
            request.Response.Send(System.Text.Encoding.UTF8.GetBytes(document));
        }


#6

Still waiting for a confirmation or resolution on this issue


#7

@ jstone05 - I was out of the office most of the week due to illness, however this is a bug. So you can start using it right away, you could grab the source code for the RN-171 driver from CodePlex and change lines 36-39 of HttpHeaderList.cs to:

 != "")
                header = this["Request"] + "\r\n" + header + "\r\n";
            else if (this["Status"] != "")
                header = this["Status"] + "\r\n" + header + "\r\n";

#8

@ James - No rush just didn’t want to leave an unresolved issue forgotten: thanks for the solution

Not that I’m expecting anything soon, but how often to these kind of bugs get cleared up for those of us who don’t want to edit the driver (not important for my solution, just curious)


#9

Generally, bug fixes find themselves worked into the next release of the SDK. This is going to more than likely take longer than it normally would simply because we just released a new SDK yesterday. I missed the mark by a day lol