Line data Source code
1 : /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : /* This Source Code Form is subject to the terms of the Mozilla Public
3 : * License, v. 2.0. If a copy of the MPL was not distributed with this
4 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 :
6 :
7 : #include "nsIContentSniffer.h"
8 : #include "nsIStreamListener.h"
9 : #include "nsString.h"
10 : #include "mozilla/Attributes.h"
11 :
12 1 : class nsFeedSniffer final : public nsIContentSniffer,
13 : nsIStreamListener
14 : {
15 : public:
16 : NS_DECL_ISUPPORTS
17 : NS_DECL_NSICONTENTSNIFFER
18 : NS_DECL_NSIREQUESTOBSERVER
19 : NS_DECL_NSISTREAMLISTENER
20 :
21 : static nsresult AppendSegmentToString(nsIInputStream* inputStream,
22 : void* closure,
23 : const char* rawSegment,
24 : uint32_t toOffset,
25 : uint32_t count,
26 : uint32_t* writeCount);
27 :
28 : protected:
29 0 : ~nsFeedSniffer() {}
30 :
31 : nsresult ConvertEncodedData(nsIRequest* request, const uint8_t* data,
32 : uint32_t length);
33 :
34 : private:
35 : nsCString mDecodedData;
36 : };
37 :
|