d417133ed2
Some websites set cookies expiring in the (not so) far future, after year 2038. So, using time_t to store the cookie expiration date won't do. Use the BDateTime class instead. This makes goodsearch.com login work again (#10460).
48 lines
908 B
C++
48 lines
908 B
C++
/*
|
|
* Copyright 2010 Haiku Inc. All rights reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef _B_HTTP_TIME_H_
|
|
#define _B_HTTP_TIME_H_
|
|
|
|
#include <ctime>
|
|
|
|
#include <DateTime.h>
|
|
#include <String.h>
|
|
|
|
namespace BPrivate {
|
|
|
|
enum {
|
|
B_HTTP_TIME_FORMAT_PARSED = -1,
|
|
B_HTTP_TIME_FORMAT_RFC1123 = 0,
|
|
B_HTTP_TIME_FORMAT_PREFERRED = B_HTTP_TIME_FORMAT_RFC1123,
|
|
B_HTTP_TIME_FORMAT_COOKIE,
|
|
B_HTTP_TIME_FORMAT_RFC1036,
|
|
B_HTTP_TIME_FORMAT_ASCTIME
|
|
};
|
|
|
|
|
|
class BHttpTime {
|
|
public:
|
|
BHttpTime();
|
|
BHttpTime(BDateTime date);
|
|
BHttpTime(const BString& dateString);
|
|
|
|
// Date modification
|
|
void SetString(const BString& string);
|
|
void SetDate(BDateTime date);
|
|
|
|
|
|
// Date conversion
|
|
BDateTime Parse();
|
|
BString ToString(int8 format = B_HTTP_TIME_FORMAT_PARSED);
|
|
|
|
private:
|
|
BString fDateString;
|
|
BDateTime fDate;
|
|
int8 fDateFormat;
|
|
};
|
|
|
|
}
|
|
#endif // _B_HTTP_TIME_H_
|