1 #Region "Microsoft.VisualBasic::d445cef547ce840494d44dac58c9d12e, Microsoft.VisualBasic.Core\Extensions\WebServices\WebResult.vb"
2
3     ' Author:
4     
5     '       asuka (amethyst.asuka@gcmodeller.org)
6     '       xie (genetics@smrucc.org)
7     '       xieguigang (xie.guigang@live.com)
8     
9     ' Copyright (c) 2018 GPL3 Licensed
10     
11     
12     ' GNU GENERAL PUBLIC LICENSE (GPL3)
13     
14     
15     ' This program is free software: you can redistribute it and/or modify
16     ' it under the terms of the GNU General Public License as published by
17     ' the Free Software Foundation, either version 3 of the License, or
18     ' (at your option) any later version.
19     
20     ' This program is distributed in the hope that it will be useful,
21     ' but WITHOUT ANY WARRANTY; without even the implied warranty of
22     ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23     ' GNU General Public License for more details.
24     
25     ' You should have received a copy of the GNU General Public License
26     ' along with this program. If not, see <http://www.gnu.org/licenses/>.
27
28
29
30     ' /********************************************************************************/
31
32     ' Summaries:
33
34     '     Class WebResult
35     
36     '         Properties: BriefText, Site, Title, Update, URL
37     
38     '         FunctionToString
39     
40     
41     ' /********************************************************************************/
42
43 #End Region
44
45 Imports System.Text.RegularExpressions
46
47 Namespace Net.Http
48
49     ''' <summary>
50     ''' The data structure for represents the search result of the Web search egine.
51     ''' </summary>
52     Public Class WebResult
53
54         ''' <summary>
55         ''' Specifies the Title element of the result string. 
56         ''' </summary>
57         ''' <returns></returns>
58         Public Property Title As String
59         ''' <summary>
60         ''' In short description of the link produced. 
61         ''' </summary>
62         ''' <returns></returns>
63         Public Property BriefText As String
64         ''' <summary>
65         ''' Url that points to the Current result.
66         ''' </summary>
67         ''' <returns></returns>
68         Public Property URL As String
69         ''' <summary>
70         ''' Update time.
71         ''' </summary>
72         ''' <returns></returns>
73         Public Property Update As String
74
75         ''' <summary>
76         ''' Returns the root domain name.
77         ''' </summary>
78         ''' <returns></returns>
79         Public ReadOnly Property Site As String
80             Get
81                 Return Regex.Match(URL, "https?://(www.)?[^/]+").Value
82             End Get
83         End Property
84
85         Public Overrides Function ToString() As String
86             Return String.Format("{0}  [{1}]", Title, URL)
87         End Function
88     End Class
89 End Namespace