Commit Graph

27752 Commits

Author SHA1 Message Date
Doug Bunting c1622096b9 React to aspnet/Razor#182 fix
- use `[HtmlAttributeNotBound]` to make tag helper properties `public`
- properties remain invisible in Razor
2015-04-27 08:17:40 -07:00
Doug Bunting 838f672b10 Clean up .xproj files added with HttpAbstractions 2015-04-27 08:12:22 -07:00
Ryan Nowak 9fded74b15 Merging ModelBinding into Mvc.Core 2015-04-27 02:10:37 -07:00
Ryan Nowak 572e57e25c Create Mvc.Abstractions
Creates a new package 'Microsoft.AspNet.Mvc.Abstractions' which defines
APIs and contracts for core concepts and extensibility points in MVC.

Includes:
- ModelBinding
- Validation
- Model State
- Model Metadata
- Action Descriptors
- IActionResult
- Filters
- IActionConstraint
2015-04-27 00:49:14 -07:00
David Fowler 088bcac028 Temporarily remove compiling against non roslyn project references 2015-04-26 00:18:58 -07:00
tugberkugurlu c48209acae depend on Logging.Interfaces instead, fixes #50 2015-04-26 00:00:45 +01:00
Doug Bunting de95f67400 Add `HtmlAttributeNotBoundAttribute`
- #182
- ignore otherwise-bound (i.e. `public`) properties in tag helpers

nits:
- add more `TagHelperDescriptorFactory` tests e.g. of `internal` properties
- remove `private` setter from `HtmlAttributeNameAttribute`
- use `null` propagation to shorten `IsAccessibleProperty` expression
- clean up some trailing whitespace
2015-04-24 22:57:41 -07:00
Troy Dai 34cbd2805b React to OperationSystems change 2015-04-24 22:00:42 -07:00
Henk Mollema 955b45f995 Utilized `nameof()` for `ArgumentNullException`s
Utilized the use of nameof() operator for ArgumentNullExceptions.
2015-04-24 14:00:34 -07:00
Troy Dai b98af101f9 React to OperatingSystems change 2015-04-24 13:57:10 -07:00
Troy Dai 223724c13e React to OperationSystems option change 2015-04-24 13:32:46 -07:00
Chris Ross 2063ad5f67 React to Auth API changes. 2015-04-24 12:03:19 -07:00
Chris Ross 3b32348cec React to Auth API changes. 2015-04-24 11:32:15 -07:00
Chris Ross 98614736a7 React to authentication API changes. 2015-04-24 10:53:50 -07:00
Chris Ross 66b669aa22 React to WebSocket feature API changes. 2015-04-24 10:53:07 -07:00
Chris Ross 33de44b596 Remove references to diagnostics. 2015-04-24 10:21:38 -07:00
Chris Ross 63fc18b945 React to auth feature API changes. 2015-04-24 09:57:49 -07:00
Chris Ross b64618bc2d React to auth API changes. Remove extra dependencies. 2015-04-24 09:55:14 -07:00
Chris Ross 59e40904ad Remove redundant websocket sample code. 2015-04-24 09:50:36 -07:00
Chris Ross 43a38c1b58 Reorder Challenge parameters. 2015-04-24 08:51:30 -07:00
Henk Mollema 0bfebf7fac Use `string.IsNullOrEmpty()` instead of empty string check. 2015-04-24 15:45:22 +02:00
Hao Kung 69d42502a6 React to WebHostBuilder 2015-04-24 00:11:58 -07:00
Hao Kung 5093c06b2a Fix program main to actually use config 2015-04-24 00:10:36 -07:00
Hao Kung 234bbf82f2 Hosting API Review changes
- Introduce WebHostBuilder
2015-04-23 23:51:29 -07:00
Hao Kung 60fd1f28b9 React to security changes 2015-04-23 23:00:20 -07:00
Hao Kung a71dc5858d React to Security changes 2015-04-23 22:57:17 -07:00
Hao Kung 87c31c5526 Switch to IUrlEncoder, introduce AddAuthentication 2015-04-23 22:49:47 -07:00
Hao Kung c251bf0162 Add RefreshSignIn 2015-04-23 22:17:24 -07:00
Doug Bunting 3fd4991959 Bind to readonly non-`null` collections
- part 1/2 of #2294
- handle readonly non-`null` collections in relevant binders
 - `CollectionModelBinder.CopyToModel()` and `MutableObjectModelBinder.AddToProperty()` methods
 - handle read-only controller properties in `DefaultControllerActionArgumentBinder`
 - do not copy into arrays e.g. add `CopyToModel()` override in `ArrayModelBinder`
- remove ability to set a private controller property
 - confirm `SetMethod.IsPublic` in `DefaultControllerActionArgumentBinder`
- avoid NREs in `GetModel()` overrides

Test handling of readonly collections
- previous tests barely touched this scenario
- also add more tests setting controller properties

nits:
- add missing `[NotNull]` attributes
- add missing doc comments
- consolidate a few `[Fact]`s into `[Theory]`s
- simplify some wrapping; shorten a few lines
- remove dead code in `DefaultControllerActionArgumentBinder` and `ControllerActionArgumentBinderTests`
2015-04-23 20:11:09 -07:00
Ajay Bhargav Baaskaran a80a333fea [Fixes #1489] Support for named route in form tag helper 2015-04-23 17:08:38 -07:00
Chris Ross b0d0e94aba Handle Authentication and WebSocket API changes. 2015-04-23 16:06:18 -07:00
Chris Ross 06e24a8fdf Handle null auth, null descriptions. 2015-04-23 16:05:05 -07:00
Chris Ross 0ed2692ef4 #267, #273, Move WebSocket APIs to their own object, fix context object. 2015-04-23 15:16:26 -07:00
Chris Ross cc1a24b949 #273 - Use POCOs for auth context objects. 2015-04-23 15:16:23 -07:00
Chris Ross a174bb299e #270 Rename auth wrapper's internal collections to Items. 2015-04-23 15:15:03 -07:00
Chris Ross 4637a95157 #266 Consolidate authentication APIs. 2015-04-23 15:15:02 -07:00
Ajay Bhargav Baaskaran 37e819ce85 [Fixes #2085] Using custom HtmlEncoder in unit tests - part 2 2015-04-23 13:36:54 -07:00
Ajay Bhargav Baaskaran 5da8ba7769 [Fixes #2085] Using custom HtmlEncoder in unit tests 2015-04-23 13:16:27 -07:00
Chris Ross 017e44ae95 Handle FileProviders package changes. 2015-04-23 12:56:10 -07:00
Chris Ross 6ae3d90ad0 Handle changes in FileProviders. 2015-04-23 12:18:49 -07:00
Chris Ross 663bf4f0f9 Handle FileProviders package rename. 2015-04-23 11:59:17 -07:00
Chris Ross af641b1ca5 Handle removal of HttpResponse.SendAsync extension. 2015-04-23 11:40:47 -07:00
Kiran Challa 687ab258a1 Logging for filters 2015-04-23 06:38:45 -07:00
Suhas Joshi 791173fda8 Update security stamp when setting username 2015-04-22 17:46:44 -07:00
Suhas Joshi afff831d62 Updating stores to use TypeDescriptor for type conversion 2015-04-22 17:23:03 -07:00
Ajay Bhargav Baaskaran 1511ea34a8 [Fixes #662] Throw if controller cannot be activated 2015-04-22 16:15:48 -07:00
Harsh Gupta 4df7d52210 PR Comments 2015-04-22 14:40:16 -07:00
Harsh Gupta 86fcacea92 Fix for #2357 : We prevent assigining null values to non nullable controller properties. 2015-04-22 14:40:14 -07:00
Harsh Gupta 53ef8258bb The model state keys for body bound models which are bound at property will use the entire model name with this change for example
Consider

public class Person
{
    [FromBody]
    public Address Address { get; set; }
}

public class Address
{
   [Required]
   public string Street { get; set; }

   public int Zip { get; set; }
}

Request body { "Zip" : 12345 }
In this case the error key would be "prefix.Address.Street" (assuming there is a prefix because of additional metadata/positioning for/of the Person model).

public class Person
{
       [Required]
       public string Name { get; set; }
}

public void Action([FromBody]Person p)
{
}
Request body { }
In this case the prefix gets ignored and the error key is Name.
Please note this is so that we are compatible with MVC 5.0

public class Person
{
       [Required]
       public string Name { get; set; }
}

public void Action([FromBody][ModelBinder(Name = "prefix")] Person p)
{
}

public void Action2([FromBody][Bind(Name = "prefix")] Person p)
{
}
Request body { }
In both these cases (Action and Action2) the prefix gets ignored and the error key is Name.
This is a slight improvement from mvc, as in MVC the action parameter would be null.

The followup for this would be to fix #2416 -
This PR ignores the validation assuming that #2416 will address the issues and update the test.

NOTE: previous versions of mvc did not have property binding and hence there is no precedence in this case. For MVC and Web API it was possible to body bind an action parameter which used an empty prefix instead of a parameter name for adding errors to model state (In case of MVC if a custom prefix was provided, it failed binding from body i.e the parameter was null).
2015-04-22 14:02:08 -07:00
Kirthi Krishnamraju 924d50bd8f Added functionaltests for JsonPatchDocument 2015-04-22 13:44:25 -07:00