-Updated MicrosoftAccountDefaults to use app model v2 & graph API
-Updated MicrosoftAccountHelper to extract user info from the user object
returned by the graph API
-Updated MicrosoftAccountMiddlewareTests accordingly
-Added the app model v2 client credentials to SocialSample/config.json
-Configured SocialSample to use SSL
Startup.cs
- Sorted namespaces
- Dropped openid scope from Microsoft-AccessToken
project.json
- Sorted dependencies
MicrosoftAccountHelper.cs
- Removed name claim transofmation
- renamed GetName, GetFirstName & GetLastName
Submatch has been sped up by implementing a modified Boyer–Moore–Horspool algorithm with an average-case complexity of O(N) on random text. Worst case, it behaves similarly to the previous implementation O(MN), where M is the length of the boundary and N is the length of the buffer to operate on.
Method SubMatch looks for two things:
1. Whether the byte array segment fully contains the boundary, or
2. Whether the byte array ends with the start of the boundary.
Case 1 is now a lot faster than the previous implementation. Case 2 remains using the same code as before. The method will do Case 1 until the matchOffset is equal to N-M. It then switches to Case 2, unless a match is found.
The code can be further sped up with a full Boyer–Moore implementation, or something more sophisticated. This however can be evaluated in the case that this implementation is insufficiently performant for our main scenarios.
This commit resolves issue #575.
This change implements the new API for flattening content in Razor.
Also, some optimizations to avoid allocations on paths where we need
to encode HTML attribute values.
- Simplify things that used to rely on HtmlTextWriter. This behavior is
now the default.
- Simplify a whole mess of Razor TextWriter code.
- Integration test for merging of TagHelper buffers back into the 'main'
buffer.
Currently we overload the definition of WriteTo on IHtmlContent
implementation classes to either represent a "real" write or a "flatten"
by checking if the writer inherits HtmlText writer.
This overloading is a bit of an odd fit and hides the real semantic we
want for flattening.
Additionally, we want to gradually make the concept of a pooled
backing-buffer for IHtmlContent first-class - using pooled buffers
dictates that we support move-semantics to some degree.
This change makes the work that we do for flattening into pooled buffers
explicit rather than hidden.