I was hoping to ask for some clarification on the roles of the ChunkedWriteHandler and the HttpObjectAggregator. Do these two effectively do opposite things?
In the following setup:
p.addLast("client_codec", new HttpClientCodec());
p.addLast("chunker", new ChunkedWriteHandler());
p.addLast(new ClientHandler());
Does having the chunker actually do anything? Since I don't have an HttpObjectAggregator in the pipeline, isn't the data going to by written downstream in chunks anyways? When would I need to use a ChunkedWriteHandler for an HTTP server/client?
Thank you!
Please read the javadocs on the classes... ChunkedWriteHandler has nothing to do with HTTP at all. It allows to write implementations of ChunkedInput in an "efficient" manner while HttpObjectAggregator ensures you only see FullHttp* in the handler after it.
Related
I have a webscript for which i don't want multiple calls at same time. If i get multiple calls at same time, i want to execute the webscript one after the other. Can we do that? If yes please explain the process.
Thanks in advance!
Use the requiresnew in your webscript definition at first.
This will make sure that every call is in it's own transaction and you won't get issues with rollingback etc.
In most cases this will solve all the issues you'll have.
If not then you're probably fixing the problem at the wrong side and you'll need a queue before Alfresco like ActiveMQ.
You can call a method with the synchronize annotation in the webscript's executeImp
I hope someone could give me a quick example how to configure the BTLE-Device correctly without the huge BLE-Manager library. Simply a litte GAP Authetication and one GATT-Service would be enough to start. I've managed to create my own GATT-Service and characteristics without the need for BLE-Manager but thanks to several defines, typedefs etc. I can't figure out how to do this for GAP and how to register my callbacks for it. Maybe someone has used these modules before and can give me a quick example how it's done?
Since you mentioned One GATT-Service with Authentication Atmel-BAS [Battery Service] example is easy one. To better understand you can download the getting started guide see the architecture. In-order to register the callbacks you need to check the order of callbacks in function ble_event_manager in ble_manager.c file.
We got a long-running website where XSS lurks. The problem comes from that some developers directly - without using HtmlEncode/Decode() - retrieve Request["sth"] to do the process, putting on the web.
I wonder if there is any mechanism like HTTPModule to help us HtmlEncode() all the items in a Http request to avoid XSS to some extent.
Appreciate for any suggestion.
Rgds,
Ricky
The problem is not retrieving Request data without HTML-encoding. In fact that's perfectly correct. You should not encode any text until the final output stage when you spit it into an HTML page.
Trying to blanket-encode incoming parameters, whether that's HTML-encoding or SQL-encoding, is totally the wrong thing. It may hide XSS holes in your app but it does not fix them. You will still have a hole if you output content that hasn't come from parameters, or has been processed since then. Meanwhile the automatic encoding will fill your database with multiply-escaped & crud.
You need to fix the output stage, that's where the problem lies.
Like bobince said, this is an output problem, not an input problem. If you can isolate where this data is being output on the page, you could create a Filter and add it to the Response object. This filter would isolate the areas that are common output and then HtmlEncode them.
It seems like a fairly large hassle to set up a proper debug environment in ASP.NET and I'm just wondering if using Asserts are the way to go or not. I've read a bit and saw that you need to modify your web.config to properly use Asserts. Is this usually the best way to go or are there other methods of debugging that might be easier to use?
We don't use a unit testing framework so that isn't really relevant to the question.
How do you know the difference between them working properly or not working at all? Currently I can put in asserts in my code and it will do absolutely nothing because they are not configured in the web.config. This seems dangerous to me.
I would direct you here: When should I use Debug.Assert()?. There are several good answers that can tell you when it's good to use them, and you can figure out from there if it's worth it in your app.
Having Debug Asserts will ensure your code is correct. With the right combination of test cases will definitely help you.
Several Unit test frameworks come with handlers that can log messages and throw exceptions on asserts. Choosing one of these framework or writing your own handler is something that you may have to think about. But once the Unit test code catches these exceptions, they should be logged and marked as failed.
I have seen several projects that use the Trace functionality to capture events and stream them out to a log file. I have been unsuccessful in finding a simple to follow guide that will show me how to configure Trace to capture and write said logfile. Does anyone have a link recommendations, or provide some simple steps to follow?
The Trace object writes the statements to any attached TraceListeners. You can build your own, but there are a number already defined in the System.Diagnostics namespace, including:
ConsoleTraceListener (Console)
DefaultTraceListener (Visual Studio / Debugger)
DelimitedListTraceListener (TextWriter, special formatting)
EventLogTraceListener (EventLog - anything that inherits from System.Diagnostics.EventLog)
TextWriterTraceListener (TextWriter - think file)
You can, of course, inherit your own from the TraceListener class that writes to where ever you want. For example, you could log to a database, have it send e-mails or pages in certain situations, or write the statements back to a logging platform like log4net.
The big thing is that you need to create an instance of whatever listeners you want and then add them to the Trace' class Listeners collection. You can add as many as you need and Trace will write to all of them. This way, you can write your logging code once using a well-supported and understood object that's part of the framework, and you can attach anything you need to it.
I stumbled into a MSDN article that really helps. Sorry I didn't find it before posting the question but perhaps others may have the same question and haven't found this link.
Take a look at logging frameworks. We rolled out own, but are now migrating over to log4net available free at http://logging.apache.org/log4net/
Im looking for a way to set the Category of the EventLog, the FormattedEventLogTraceListener writes into (not the category of the message).
But I can't find an appropriate property of this class.
Is it possible to set this?