22#include " RedisException.h"
33
44Response::Response ()
5- : responseString (" " ), lastValidPos(0 ), itemsCount(0 )
5+ : responseSource (" " ), lastValidPos(0 ), itemsCount(0 )
66{
77}
88
9- Response::Response (QString & src)
10- : responseString (src), lastValidPos(0 ), itemsCount(0 )
9+ Response::Response (const QByteArray & src)
10+ : responseSource (src), lastValidPos(0 ), itemsCount(0 )
1111{
1212}
1313
1414Response::~Response (void )
1515{
1616}
1717
18- void Response::setSource (QString& str )
18+ void Response::setSource (const QByteArray& src )
1919{
20- responseString = str ;
20+ responseSource = src ;
2121}
2222
2323void Response::clear ()
2424{
25- responseString .clear ();
25+ responseSource .clear ();
2626 lastValidPos = 0 ;
2727 itemsCount = 0 ;
2828}
2929
30- QString Response::source ()
30+ QByteArray Response::source ()
3131{
32- return responseString ;
32+ return responseSource ;
3333}
3434
3535void Response::appendToSource (QString& src)
3636{
37- responseString .append (src);
37+ responseSource .append (src);
3838}
3939
4040void Response::appendToSource (QByteArray& src)
4141{
42- responseString .append (src);
42+ responseSource .append (src);
4343}
4444
4545QVariant Response::getValue ()
4646{
47- if (responseString .isEmpty ()) {
47+ if (responseSource .isEmpty ()) {
4848 return QVariant ();
4949 }
5050
51- ResponseType t = getResponseType (responseString );
51+ ResponseType t = getResponseType (responseSource );
5252
5353 QVariant parsedResponse;
5454
5555 switch (t) {
5656
5757 case Status:
5858 case Error:
59- parsedResponse = QVariant (getStringResponse (responseString ));
59+ parsedResponse = QVariant (getStringResponse (responseSource ));
6060 break ;
6161
6262 case Integer:
63- parsedResponse = QVariant (getStringResponse (responseString ).toInt ());
63+ parsedResponse = QVariant (getStringResponse (responseSource ).toInt ());
6464 break ;
6565
6666 case Bulk:
67- parsedResponse = parseBulk (responseString );
67+ parsedResponse = QVariant ( parseBulk (responseSource) );
6868 break ;
6969
7070 case MultiBulk:
71- parsedResponse = QVariant (parseMultiBulk (responseString ));
71+ parsedResponse = QVariant (parseMultiBulk (responseSource ));
7272 break ;
7373 case Unknown:
7474 break ;
@@ -77,19 +77,19 @@ QVariant Response::getValue()
7777 return parsedResponse;
7878}
7979
80- QVariant Response::parseBulk (const QString & response)
80+ QString Response::parseBulk (const QByteArray & response)
8181{
8282 int endOfFirstLine = response.indexOf (" \r\n " );
8383 int responseSize = getSizeOfBulkReply (response, endOfFirstLine);
8484
8585 if (responseSize != -1 ) {
86- return QVariant ( response.mid (endOfFirstLine + 2 , responseSize) );
86+ return response.mid (endOfFirstLine + 2 , responseSize);
8787 }
8888
89- return QVariant () ;
89+ return " " ;
9090}
9191
92- QStringList Response::parseMultiBulk (const QString & response)
92+ QStringList Response::parseMultiBulk (const QByteArray & response)
9393{
9494 int endOfFirstLine = response.indexOf (" \r\n " );
9595 int responseSize = getSizeOfBulkReply (response, endOfFirstLine);
@@ -138,12 +138,12 @@ QStringList Response::parseMultiBulk(const QString& response)
138138 return parsedResult;
139139}
140140
141- Response::ResponseType Response::getResponseType (const QString & r) const
141+ Response::ResponseType Response::getResponseType (const QByteArray & r) const
142142{
143143 return getResponseType (r.at (0 ));
144144}
145145
146- Response::ResponseType Response::getResponseType (const QChar typeChar) const
146+ Response::ResponseType Response::getResponseType (const char typeChar) const
147147{
148148 if (typeChar == ' +' ) return Status;
149149 if (typeChar == ' -' ) return Error;
@@ -154,17 +154,17 @@ Response::ResponseType Response::getResponseType(const QChar typeChar) const
154154 return Unknown;
155155}
156156
157- QString Response::getStringResponse (QString response)
157+ QString Response::getStringResponse (const QByteArray& response)
158158{
159- return response.mid (1 , response.length () - 3 );
159+ return response.mid (1 , response.length () - 3 );
160160}
161161
162162bool Response::isValid ()
163163{
164- return isReplyValid (responseString );
164+ return isReplyValid (responseSource );
165165}
166166
167- bool Response::isReplyValid (const QString & responseString)
167+ bool Response::isReplyValid (const QByteArray & responseString)
168168{
169169 if (responseString.isEmpty ())
170170 {
@@ -195,12 +195,12 @@ bool Response::isReplyValid(const QString & responseString)
195195 }
196196}
197197
198- bool Response::isReplyGeneralyValid (const QString & r)
198+ bool Response::isReplyGeneralyValid (const QByteArray & r)
199199{
200200 return r.endsWith (" \r\n " );
201201}
202202
203- int Response::getPosOfNextItem (const QString &r, int startPos = 0 )
203+ int Response::getPosOfNextItem (const QByteArray &r, int startPos = 0 )
204204{
205205 if (startPos >= r.size ()) {
206206 return -1 ;
@@ -232,12 +232,12 @@ int Response::getPosOfNextItem(const QString &r, int startPos = 0)
232232
233233}
234234
235- bool Response::isIntReplyValid (const QString & r)
235+ bool Response::isIntReplyValid (const QByteArray & r)
236236{
237237 return !r.isEmpty ();
238238}
239239
240- bool Response::isBulkReplyValid (const QString & r)
240+ bool Response::isBulkReplyValid (const QByteArray & r)
241241{
242242 int endOfFirstLine = r.indexOf (" \r\n " );
243243 int responseSize = getSizeOfBulkReply (r, endOfFirstLine);
@@ -256,7 +256,7 @@ bool Response::isBulkReplyValid(const QString& r)
256256 return true ;
257257}
258258
259- bool Response::isMultiBulkReplyValid (const QString & r)
259+ bool Response::isMultiBulkReplyValid (const QByteArray & r)
260260{
261261 int endOfFirstLine = r.indexOf (" \r\n " );
262262 int responseSize = getSizeOfBulkReply (r, endOfFirstLine);
@@ -300,7 +300,7 @@ bool Response::isMultiBulkReplyValid(const QString& r)
300300 return true ;
301301}
302302
303- int Response::getSizeOfBulkReply (const QString & reply, int endOfFirstLine, int beginFrom)
303+ int Response::getSizeOfBulkReply (const QByteArray & reply, int endOfFirstLine, int beginFrom)
304304{
305305 if (endOfFirstLine == -1 ) {
306306 endOfFirstLine = reply.indexOf (" \r\n " , beginFrom);
@@ -334,7 +334,7 @@ int Response::getLoadedItemsCount()
334334
335335bool Response::isErrorMessage () const
336336{
337- return getResponseType (responseString ) == Error
338- && responseString .startsWith (" -ERR" );
337+ return getResponseType (responseSource ) == Error
338+ && responseSource .startsWith (" -ERR" );
339339
340340}
0 commit comments