1 |
|
/* ============================================================================ |
2 |
|
* Douglas Thrift's Search Engine License |
3 |
|
* |
4 |
< |
* Copyright (C) 2002-2003, Douglas Thrift. All Rights Reserved. |
4 |
> |
* Copyright (C) 2002-2004, Douglas Thrift. All Rights Reserved. |
5 |
|
* Redistribution and use in source and binary forms, with or without |
6 |
|
* modification, are permitted provided that the following conditions are met: |
7 |
|
* |
46 |
|
// |
47 |
|
// Douglas Thrift |
48 |
|
// |
49 |
< |
// URL.h |
49 |
> |
// $Id$ |
50 |
|
|
51 |
< |
#ifndef _URL_h_ |
52 |
< |
#define _URL_h_ |
51 |
> |
#ifndef _URL_hpp_ |
52 |
> |
#define _URL_hpp_ |
53 |
|
|
54 |
< |
#include "Search.h" |
54 |
> |
#include "Search.hpp" |
55 |
|
|
56 |
|
class URL |
57 |
|
{ |
59 |
|
string address; |
60 |
|
unsigned port; |
61 |
|
string path; |
62 |
+ |
#ifdef _OpenSSL_ |
63 |
+ |
bool tls; |
64 |
+ |
#endif |
65 |
|
public: |
66 |
< |
URL() { port = 80; } |
67 |
< |
URL(const string& url); |
68 |
< |
URL(const string& address, unsigned port, const string& path); |
66 |
> |
#ifndef _OpenSSL_ |
67 |
> |
URL() : port(80) {} |
68 |
> |
#else |
69 |
> |
URL() : port(80), tls(false) {} |
70 |
> |
#endif |
71 |
> |
URL(const string& url) { setURL(url); } |
72 |
> |
#ifndef _OpenSSL_ |
73 |
> |
URL(const string& address, unsigned port, const string& path) : |
74 |
> |
address(address), port(port), path(path) {} |
75 |
> |
#else |
76 |
> |
URL(const string& address, unsigned port, const string& path, bool tls = |
77 |
> |
false) : address(address), port(port), path(path), tls(tls) {} |
78 |
> |
#endif |
79 |
|
virtual ~URL() {} |
80 |
|
string getURL(); |
81 |
|
string getAddress() { return address; } |
82 |
|
unsigned getPort() { return port; } |
83 |
|
string getPath() { return path; } |
84 |
+ |
#ifdef _OpenSSL_ |
85 |
+ |
bool getTls() { return tls; } |
86 |
+ |
#endif |
87 |
|
void setURL(const URL& url); |
88 |
|
void setURL(const string& url); |
89 |
< |
void setAddress(const string& address); |
90 |
< |
void setPort(unsigned port); |
89 |
> |
void setAddress(const string& address) { this->address = address; } |
90 |
> |
void setPort(unsigned port) { this->port = port; } |
91 |
|
void setPath(const string& path); |
92 |
< |
bool empty() { return address == "" || path == ""; } |
92 |
> |
#ifdef _OpenSSL_ |
93 |
> |
void setTls(bool tls) { this->tls = tls; } |
94 |
> |
#endif |
95 |
> |
bool empty() { return address.empty() || path.empty(); } |
96 |
|
// friends: |
97 |
|
friend ostream& operator<<(ostream& os, URL& data); |
98 |
|
}; |
99 |
|
|
100 |
|
string getLink(string link, URL& url); |
101 |
|
|
102 |
< |
#endif // _URL_h_ |
102 |
> |
#endif // _URL_hpp_ |