65c9a78008fb2d53aeb0adecd84aaa04564751a8
[mono.git] / mcs / class / System.Web.Routing / System.Web.Routing / ChangeLog
1 2009-09-09  Marek Habersack  <mhabersack@novell.com>
2
3         * Route.cs: when Url is set to null, create a parser for empty
4         string. Fixes bug #537751
5
6         * PatternParser.cs: Parse allows for null/empty URLs. Fixes bug
7         #537751
8
9 2009-09-08  Marek Habersack  <mhabersack@novell.com>
10
11         * UrlRoutingModule.cs: store original request path in
12         PostResolveRequestCache and restore it in
13         PostMapRequestHandler. Fixes bug #537089
14
15 2009-08-19  Marek Habersack  <mhabersack@novell.com>
16
17         * Route.cs: GetRouteData adds contents of its DataTokens
18         dictionary to the returned RouteData.DataTokens dictionary. Fixes
19         bug #523330. Patch from Dax@daxxfiles.net, thanks!
20
21 2009-06-25  Marek Habersack  <mhabersack@novell.com>
22
23         * PatternParser.cs: parameter name lookups must be
24         case-insensitive.
25         Null and empty (string) parameters are skipped when building query
26         part of the action path.
27
28 2009-06-16  Marek Habersack  <mhabersack@novell.com>
29
30         * RouteValueDictionaryExtensions.cs: do not compile if
31         SYSTEMCORE_DEP is not defined
32
33         * PatternParser.cs: if SYSTEMCORE_DEP is not defined, do not
34         compile parts which require RouteValueDictionaryExtensions.
35
36         * Decorated all classes with the TypeForwardedFrom attribute for
37         the 4.0 profile.
38
39 2009-06-04  Marek Habersack  <mhabersack@novell.com>
40
41         * RouteValueDictionaryExtensions.cs: if both values are strings in
42         Has (string, value), compare them case-insensitively. Fixes bug
43         #502555
44
45 2009-05-27  Marek Habersack  <mhabersack@novell.com>
46
47         * PatternParser.cs: if Match is passed an empty path, do not
48         attempt to match the Url segments, skip to defaults matching right
49         away.
50
51 2009-05-25  Marek Habersack  <mhabersack@novell.com>
52
53         * UrlPattern.cs: removed - replaced by PatternParser below.
54         
55         * RouteValueDictionaryExtensions.cs: added - some shortcuts for
56         using RouteValueDictionary in PatternParser
57
58         * Route.cs: use the new PatternParser.
59         Factored out ProcessConstraint into ProcessConstraintInternal so
60         that the latter can be used by the PatternParser class.
61         Added parameter checks in ProcessConstraint.
62
63         * PatternTokenType.cs: added
64
65         * PatternToken.cs: added a helper class for the pattern parser.
66
67         * PatternParser.cs: added. New implementation of url
68         parser/matcher/generator which fixes all URL isues known so
69         far. Fixes bug #504378
70
71 2009-05-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
72
73         * UrlPattern.cs: if the pattern is line {a}/{b} and {b} is substituted
74         by an empty string, remove the '/' too.
75
76 2009-05-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
77
78         * UrlPattern.cs: non-string default arguments work now.
79
80 2009-05-12  Marek Habersack  <mhabersack@novell.com>
81
82         * UrlPattern.cs: TrySubstitute performs substitution trimming. If
83         a segment would be set to a default value and all of its following
84         segments as well, it will be omitted from the generated URL. The
85         value comparison is done case-insensitively when the dictionary
86         values are strings. Fixes bug #502555
87
88 2009-05-11  Marek Habersack  <mhabersack@novell.com>
89
90         * UrlPattern.cs: TrySubstitute treats defaults differently
91         now. They are not consulted when checking if the passed values
92         match the pattern, but only when substituting the values. Fixes
93         bug #502555
94
95 2009-05-05  Marek Habersack  <mhabersack@novell.com>
96
97         * UrlPattern.cs: Match adds defaults values should some keys be
98         missing from the url. Fixes bug #500739
99
100         * Route.cs: a small GetRouteData loop optimization
101
102 2009-02-18  Marek Habersack  <mhabersack@novell.com>
103
104         * UrlPattern.cs: TrySubstitute now gets the collection of default
105         values and uses it to replace url segments instead of failing when
106         the passed values collection is missing a segment.
107         Do not use the tokens array in Match.
108
109         * RouteCollection.cs: check if name is null or empty, not just
110         null in GetVirtualPath
111
112         * Route.cs: url.TrySubstitute should be passed the defaults
113         collection when called from GetVirtualPath
114
115 2009-02-14  Marek Habersack  <mhabersack@novell.com>
116
117         * UrlPattern.cs: use the defaults collection when matching a path
118         and segments are missing.
119
120         * RouteCollection.cs: GetRouteData must use VirtualPathProvider
121         to check for virtual path existence.
122
123 2008-10-23  Atsushi Enomoto  <atsushi@ximian.com>
124
125         * UrlPattern.cs : fixed possible out-of-range case ("tableName/" in
126           DynamicData).
127
128 2008-10-17  Atsushi Enomoto  <atsushi@ximian.com>
129
130         * RouteValueDictionary.cs : its string comparison is case
131           insensitive.
132
133 2008-10-17  Atsushi Enomoto  <atsushi@ximian.com>
134
135         * UrlPattern.cs : fixed pattern match for such string that has
136           suffix. (DynamicData uses it.)
137
138 2008-10-16  Atsushi Enomoto  <atsushi@ximian.com>
139
140         * RouteValueDictionary.cs : object argument is actually for
141           anonymous type instance.
142
143 2008-10-10  Atsushi Enomoto  <atsushi@ximian.com>
144
145         * UrlRoutingModule.cs : implement PostMapRequestHandler() and 
146           PostResolveRequestCache() to work correctly in order.
147           Now it should practically work.
148
149 2008-09-18  Atsushi Enomoto  <atsushi@ximian.com>
150
151         * UrlRoutingModule.cs, RouteCollection.cs :
152           handle RouteExistingFiles.
153
154 2008-09-18  Atsushi Enomoto  <atsushi@ximian.com>
155
156         * Route.cs : reject invalid constraint.
157         * UrlRoutingHandler.cs : more ProcessRequest() impl.
158         * UrlRoutingModule.cs : note.
159
160 2008-09-17  Atsushi Enomoto  <atsushi@ximian.com>
161
162         * HttpMethodConstraint.cs, Route.cs, RouteCollection.cs,
163           UrlPattern.cs, UrlRoutingModule.cs:
164           ongoing UrlRoutingModule implementation.
165
166 2008-09-12  Atsushi Enomoto  <atsushi@ximian.com>
167
168         * HttpMethodConstraint.cs, Route.cs, UrlPattern.cs, 
169           RouteCollection.cs : implement Route.GetRouteData() and
170           HttpMethodConstraint.Match().
171
172 2008-09-12  Atsushi Enomoto  <atsushi@ximian.com>
173
174         * UrlPattern.cs : new file for URL pattern processing.
175         * Route.cs : use above.
176
177 2008-09-11  Atsushi Enomoto  <atsushi@ximian.com>
178
179         * HttpMethodConstraint.cs, RequestContext.cs, Route.cs,
180           RouteCollection.cs, RouteData.cs, RouteTable.cs,
181           RouteValueDictionary.cs, StopRoutingHandler.cs,
182           UrlRoutingHandler.cs, UrlRoutingModule.cs, VirtualPathData.cs:
183           some implementation.
184
185 2008-09-04  Atsushi Enomoto  <atsushi@ximian.com>
186
187         *.cs: initial checkin.