Commit Graph

558 Commits

Author SHA1 Message Date
Derek Gray 59b605cafb Add UseWhenExtensions and UseWhenExtensionsTests 2016-07-05 11:54:23 -07:00
John Luo 4986137ffe Use filename* for files in multipart forms when available #651 2016-06-29 12:31:52 -07:00
Chris R 3c0c02112d #659 Parse headers with consecutive commas 2016-06-23 14:22:23 -07:00
Pranav K 20d608170e Updating to dev versions 2016-06-16 10:17:59 -07:00
Justin Kotalik d71c2cb6ce Adds Refactor to Equals in Path String, Adds Regression Tests 2016-06-15 16:32:03 -07:00
Justin Kotalik 8f3d894b95 #625 Changes Error Message when trying to reuse stream 2016-06-15 15:33:24 -07:00
Kristian Hellang 3865136b97 Added "451 Unavailable For Legal Reasons" to StatusCodes
From RFC7725 - https://tools.ietf.org/html/rfc7725
2016-06-15 11:36:29 -07:00
Alex Forbes-Reed 0a3213ebaa Added RFC 7538 support 2016-06-15 11:29:23 -07:00
Alex Forbes-Reed 2a1e6649b0 Added RFC 4918 support 2016-06-15 11:29:23 -07:00
Chris R 3fc1fef2be #573 Rename UriHelper.Encode 2016-06-06 13:30:07 -07:00
Pavel Krymets 8b3c308c22 Limit value number instead of key number in form reader 2016-06-01 15:46:40 -07:00
Cesar Blum Silveira 8212694874 Add RawTarget property to IHttpRequestFeature (#596). 2016-05-27 16:54:07 -07:00
Pavel Krymets c63f02c19f Optimize form reader allocations 2016-05-27 08:14:47 -07:00
John Luo 485e2e8327 React to updated CoreCLR packages
https://github.com/aspnet/Coherence/issues/97
2016-05-26 18:28:04 -07:00
Ben Adams a49ba744aa Reduce Revision check calls via interface 2016-05-23 16:23:38 -07:00
moozzyk e854d3aa9a Allow query string parameters without values
Addresses #624
2016-05-23 15:41:37 -07:00
John Luo 440c6e43e1 Minor rewording missed from PR 2016-05-23 10:15:39 -07:00
John Luo 6d91a160b6 Add IsAvailable property to ISession #634 2016-05-23 10:08:05 -07:00
BrennanConroy 504a825406 Fix owin spec links 2016-05-20 11:37:13 -07:00
Pranav K 8f233ea796 Revert "React to updated CoreCLR packages"
This reverts commit 097b339f74.
2016-05-18 09:42:01 -07:00
Hao Kung 36329b07c8 Add Description as well to AuthenticateInfo
(needed by Identity)
2016-05-17 15:01:44 -07:00
John Luo 097b339f74 React to updated CoreCLR packages
https://github.com/aspnet/Coherence/issues/97
2016-05-17 14:39:32 -07:00
Chris R b95843452c #612 Move CookieSecureOption / SecurePolicy to Http.Abstractions 2016-05-16 12:23:41 -07:00
Pranav K a4bd3bc895 Merge branch 'release' into dev 2016-05-02 14:56:19 -07:00
Chris R 5767306875 #547 Remove '+' replacement from request cookies. 2016-05-02 14:44:26 -07:00
Pranav K edff60f293 Fix build warnings 2016-05-02 11:27:17 -07:00
Chris R 7ebd87a6b2 Add doc comments for FormOptions. 2016-04-29 10:24:26 -07:00
Hao Kung 3a7f6a7228 Add GetAuthenticateInfo method 2016-04-26 14:09:48 -07:00
Chris R 3e69df87f8 Merge branch 'release' into dev 2016-04-25 12:00:37 -07:00
Chris R 13f73c6101 Make the form body limits configurable. 2016-04-25 11:59:40 -07:00
Jimmy Hannon b0ebcc3aeb Update RunExtensions.cs
small typo
2016-04-14 14:49:09 +02:00
Pranav K b50cd32b8e Removing imports from src projects 2016-04-08 06:48:41 -07:00
Pranav K fd0505ffae Merge branch 'release' into dev 2016-04-08 06:48:41 -07:00
Chris R e07008ddec Prevent double flush in HttpResponseStreamWriter. 2016-04-06 12:08:20 -07:00
Chris R 8196f2ab81 #605 Fix regressions in FormReader / FileBufferingReadStream. 2016-04-01 11:34:45 -07:00
Chris R ac12319cd7 #333 Add doc comments for feature interfaces. 2016-03-31 16:13:08 -07:00
Chris R 3a97a6bdfd #602 Invoke APM callbacks on the threadpool. 2016-03-31 12:35:20 -07:00
Doug Bunting 6725d68559 Move some implementations (all feature implementations) out of `.Internal` namespaces
- #549, #592
- move feature implementations to `Microsoft.AspNetCore.Http.Features` and `...Authentication.Features`
- move `DefaultHttpContext`, `HttpContextAccessor`, `HttpContextFactory`, `FormCollection` and
  `HeaderDictionary` to `Microsoft.AspNetCore.Http`
- move `FormFile` to `Microsoft.AspNetCore.Http.Internal`
 - that and `Microsoft.AspNetCore.Http.Authentication.Internal` are the remaining `.Internal` namespaces

nits:
- remove a couple of parameterless constructors
- add / fill subfolders to align with new namespaces
- remove all use of (unnecessary) "T:..." `<see cref=""/>` values
2016-03-30 16:01:37 -07:00
Chris R bd60507dcd #553 Use System.Buffers for temporary arrays 2016-03-28 13:57:08 -07:00
Eilon Lipton 1b71748150 More package metadata fixes 2016-03-28 10:26:49 -07:00
Eilon Lipton 78a3fc91d3 Fix package metadata 2016-03-26 22:42:17 -07:00
Doug Bunting 80813f7c1e Use pooled `StringBuilder` to reduce allocations when adding response cookies
- #561
- new `SetCookieHeaderValue.AppendToStringBuilder()` method; avoids per-call `StringBuilder` allocation
- `ResponseCookies` uses `ObjectPool<StringBuilder>` that `ResponseCookiesFeature` provides
 - `ResponseCookies` works fine if no `ObjectPoolProvider` is available
- `IHttpContextFactory` instance is a singleton instantiated from CI
 - make `HttpContextFactory` `ObjectPoolProvider` and `ResponseCookiesFeature`-aware
 - apply same pattern to sample `PooledHttpContextFactory`
- pool is not currently configurable; defaults are fine for response cookies
 - if we need (policy) configuration, would add an `IOptions<HttpContextFactorySettings>`

nit: Add some doc comments
2016-03-25 09:38:52 -07:00
Pranav K 6a5a05303f Revert "Revert "Reacting to CoreCLR package changes""
This reverts commit d035b7c533.
2016-03-22 15:15:11 -07:00
Pranav K d035b7c533 Revert "Reacting to CoreCLR package changes"
This reverts commit 131db6c41e.
2016-03-21 10:29:13 -07:00
Doug Bunting 6f24508a33 Move remaining feature interfaces into `Microsoft.AspNetCore.Http.Features` package and namespace
- #590, also related to #561
- move feature interfaces from `Microsoft.AspNetCore.Http` package
- move required classes from `Microsoft.AspNetCore.Http.Abstractions` package
- move `ISession` and `WebSocketAcceptContext` to `Microsoft.AspNetCore.Http` namespace (#590)

nit: remove transient dependencies listed in `Microsoft.AspNetCore.Http.Abstractions`'s `project.json`
2016-03-21 09:05:09 -07:00
Pranav K 131db6c41e Reacting to CoreCLR package changes 2016-03-21 00:01:21 -07:00
Chris R ce408a999e #578 Do not buffer the request body by default when reading forms. 2016-03-17 15:21:10 -07:00
Pranav K 67449276a5 Target minimal TFMs 2016-03-12 09:49:45 -08:00
Brice Lambson a051244faf Don't reference facades in NuSpec
These can be removed entirely after dotnet/cli#164
2016-03-11 08:40:56 -08:00
Ben Adams 982aa08cda Cache doesn't need clearing when resolving uncached feature 2016-03-08 10:36:44 -05:00
Ben Adams 8c72741992 Lower alloc KeyValueAccumulator for common path 2016-03-07 10:09:27 -08:00
Chris R 1f754f65d3 Add ISession.Id 2016-03-04 14:28:20 -08:00
David Obando 15649b7e31 Faster SubMatch implementation
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.
2016-03-04 10:54:20 -08:00
Ajay Bhargav Baaskaran 97940747c3 Added missed attribute 2016-03-03 17:50:40 -08:00
Ajay Bhargav Baaskaran dd7198f410 Added Company, Copyright and Product attributes to AssemblyInfo 2016-03-03 17:32:08 -08:00
Doug Bunting 3105fd1075 Remove project name from output path
- aspnet/Coherence-Signed#187
- remove `<RootNamespace>` settings but maintain other unique aspects e.g. `<DnxInvisibleContent ... />`
- in a few cases, standardize on VS version `14.0` and not something more specific
2016-03-02 18:51:48 -08:00
N. Taylor Mullen 9f499d7962 Transition to netstandard.
- dotnet5.X => netstandard1.y (where y = x-1).
- DNXCore50 => netstandardapp1.5.
- Applied the same changes to ifdefs.
2016-03-01 13:31:53 -08:00
N. Taylor Mullen dabe2e0c24 Revert "Downgrade to use CoreFX NET46 compatible packages"
This reverts commit dc456ceab5.
2016-02-19 20:33:13 -08:00
Mukul Sabharwal dc456ceab5 Downgrade to use CoreFX NET46 compatible packages 2016-02-19 16:44:01 -08:00
Sebastien Ros c030ef9129 [Fixes #567] Adding port and host parsing in HostString 2016-02-19 16:29:22 -08:00
N. Taylor Mullen 90f71aa6ec Add missing `System.Resources.ResourceManager` dependency. 2016-02-18 19:42:11 -08:00
Ajay Bhargav Baaskaran 3e8368ad66 Enabled xml doc generation 2016-02-18 16:32:10 -08:00
Chris R d4e72564c7 Add AuthenticationManager.HttpContext. Clean up contructors. 2016-02-18 16:03:20 -08:00
N. Taylor Mullen c7029a1bd0 Update System.Linq 4.0.2-* => 4.1.0-*. 2016-02-18 15:35:36 -08:00
Ryan Nowak 91751015ea Reset fields on AuthenticateContext
This is needed for cases where IAuthenticationHandler instances delegate
or modify the output of each-other.
2016-02-18 12:14:53 -08:00
Chris R 5e7b30c04b #542 Add IHttpConnectionFeature.ConnectionId 2016-02-18 11:08:05 -08:00
Doug Bunting 8c120a0792 Extend `WebEncoders` API to avoid allocations within the methods
- rewrite existing methods in terms of the new ones
- don't allocate multiple 0-length arrays

nits:
- clarify a couple of doc comments e.g. using `<paramref/>`
- move an error message into a resource
 - pass parameter names into new resource
- rename parameters for consistency e.g. `inputLength` -> `count`
- name literal `int` parameters
- more `var`
2016-02-17 23:13:33 -08:00
Doug Bunting 5d8231ee0d `OwinExtensions.UseBuilder()` should not leave `ApplicationServices` or `RequestServices` `null`
Also correct tests to avoid warnings and to ensure scenarios are actually tested
- tests previously went `async` without waiting for completion

nit: add parameter `null` checks
2016-02-17 11:31:02 -08:00
Kristian Hellang cb09ffccce Changed SaveAs[Async](string) to CopyTo[Async](Stream) 2016-02-11 12:11:42 -08:00
Chris R 04e9da4e88 #527 Add IFileInfo overloads for SendFileAsync. 2016-02-08 10:55:36 -08:00
Chris R 3e6c7171be #515 Make forgiving vs strict header list parsers. 2016-02-08 10:21:28 -08:00
Pranav K 77c137fc0a Reacting to CoreCLR package version changes 2016-02-08 09:33:46 -08:00
N. Taylor Mullen faf8a73953 Update project.json to remove redundant System.Runtime dependency.
- This package is pulled in transitively.
2016-02-05 17:21:54 -08:00
John Luo 8aa7a0993d Relocating dependencies 2016-02-01 18:26:36 -08:00
John Luo 93079ea3a6 Updating to new CLI 2016-02-01 16:37:16 -08:00
Brennan 765a52007a Use EscapeDataString for encoding Cookies 2016-01-29 12:58:36 -08:00
N. Taylor Mullen 02363da94e Rename AspNet 5 file contents.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:20:40 -08:00
N. Taylor Mullen b2c154b576 Rename AspNet 5 folders and files.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:20:30 -08:00
ryanbrandenburg da478b02ed * Move HttpResponseStreamWriter from Mvc 2016-01-21 10:28:07 -08:00
Pranav K 38feebc0d6 Reacting to CoreCLR package version change 2016-01-20 20:53:25 -08:00
Brennan 3f84e992f4 Make StreamCopyOperation public and update it to same as StaticFiles 2016-01-19 10:03:26 -08:00
Brennan 1f21540fd5 Remove IsLocal 2016-01-19 08:35:53 -08:00
Kristian Hellang 4b64d187c2 Promote IFormFile extension methods to IFormFile 2016-01-13 14:30:14 +01:00
John Luo fa8c5cbb3a Updating QueryString doc comment 2016-01-08 19:28:34 -08:00
David Fowler 6bc8384ea9 Small style cleanup 2016-01-07 20:52:54 -08:00
David Fowler ca8136b73c Compile middleware invoke method when extra args are provided
- Improves the performance when accessing scoped services in middleware
2016-01-07 20:39:04 -08:00
Ben Adams 62ec29b6af Move generic Get/Set into Interface 2015-12-31 20:18:24 +00:00
Stephen Halter 364a712cb3 Merge branch 'lodejard/featurereferences' into dev 2015-12-30 15:35:08 -08:00
Pranav K 161d6ca5c0 Move Microsoft.Extensions.WebEncoders to HtmlAbstractions
Fixes #512
2015-12-23 09:27:39 -08:00
Brennan ee804e5841 Register FileBufferingReadStream for disposal 2015-12-22 16:13:23 -08:00
Hao Kung 1a485fadb0 OptionsModel => Options 2015-12-21 15:04:10 -08:00
Louis DeJardin 290ff2a268 PR feedback 2015-12-16 22:37:07 -08:00
Louis DeJardin 4265855652 PR feedback
Adding comment about reason for public field
2015-12-16 22:35:41 -08:00
Louis DeJardin c05c203c28 Adding example of what http context pooling might look like 2015-12-16 22:02:05 -08:00
Louis DeJardin 0e3fe7493e Streamlining feature cache and object re-initialiation code paths
Shouldn't increase object size, but does improve maintainability
2015-12-16 20:01:55 -08:00
Ben Adams 67c5ec29b3 Allow feature cache to be updated+invalidated 2015-12-15 16:12:37 -08:00
Brennan c41be75796 Wrap Branch in try finally 2015-12-14 14:02:54 -08:00
Brennan 59b32934e3 Change Expires to DateTimeOffset 2015-12-14 08:27:59 -08:00
Brennan 5e42d26fd5 Implement GetHashCode 2015-12-08 10:29:53 -08:00
Pranav K 5231683aae * Removing unused dependencies from code
* Cleaning up usage of CodeAnalysis.
2015-12-07 19:22:53 -08:00
Kristian Hellang c2e7618d9a Added Name and FileName to IFormFile
This commits also gets rid of the name
closure in FormFileCollection by interating
over the files in the collection instead
of using Find and FindAll.

Closes #352 and #499
2015-12-04 20:28:42 +01:00
David Fowler 9887fe0dee Move the header extensions to Http.Abstractions 2015-12-02 23:58:16 -08:00
David Fowler 6055e25d19 Fixed typo in doc comment 2015-12-02 22:51:48 -08:00
David Fowler 5b175beea8 Change SendFileAsync to use a fallback implementation instead of throwing
- If the user wants to use the SendFile API directly then they can access the feature
explicitly.
- Removed SupportsSendFile
- Don't check for existence, let FileStream throw
- Updated Doc comments
- Pass the buffer into StreamCopyOperation
- Using a real using instead of try finally.
2015-12-02 22:37:53 -08:00
Pranav K a0a1c38e44 Moving Microsoft.AspNet.Html.Abstractions to a HtmlAbstractions repo
Fixes #418
2015-12-01 17:35:20 -08:00
John Luo 67aa2546a8 Removing ApplicationServices from HttpContext #466 2015-11-19 09:34:38 -08:00
Pranav K 78e90d7f04 Update ifdefs from DNXCORE50 to DOTNET5_4
Fixes #467
2015-11-18 12:29:47 -08:00
Pavel Krymets 681533e06c Set IHttpContextAccessor only if DI provides it 2015-11-18 09:15:27 -08:00
John Luo fbec068f5c Adding option to configure services when exposing the ASP.NET 5 pipeline via OWIN #398 2015-11-17 11:02:04 -08:00
Pavel Krymets 690e5a66e5 Set default path=/ when removing cookie 2015-11-16 15:58:18 -08:00
Ryan Nowak cb3e9b1218 Change List<T> to IList<T> 2015-11-16 10:51:30 -08:00
John Luo d4d04d2c96 Adding exception message for paths not starting with / #251 2015-11-16 10:21:02 -08:00
Ryan Nowak 88c356f645 Add HtmlContentBuilder and HtmlTextWriter
Remove BufferedHtmlContent
2015-11-16 08:41:03 -08:00
N. Taylor Mullen bb8141710d Remove System beta tag in project.json for coreclr packages. 2015-11-12 12:23:07 -08:00
David Fowler f813d3cce8 Merge pull request #469 from khellang/uri-helper-string-concat
Changed string.Format to StringBuilder
2015-11-10 14:08:32 -08:00
Kristian Hellang f726b7b591 Added PERF comment 2015-11-10 19:55:14 +01:00
Nick Craver 6874b87f13 C#6 Cleanup & Optimizations
The main intent is cleanup using C# 6 operators and normalization of
type aliases. While there are no intended functional changes here, it
does eliminate a few tight race conditions as a bonus (not a real-win
since this isn't thread-safe all over, simply noting).
2015-11-10 09:38:49 -08:00
Ben Adams e5a3285090 Lazily initialize DefaultHttpContext
Lazily initialize sub objects of DefaultHttpContext

Resolves #470
2015-11-10 15:05:29 +00:00
Kristian Hellang 7b35b2e1b9 Pass length to StringBuilder 2015-11-10 11:03:51 +01:00
Kristian Hellang 663c7917d0 Changed string.Format to StringBuilder 2015-11-10 10:31:56 +01:00
Ryan Nowak 308dd109a0 Reduce allocations on Conneg hotpath 2015-11-09 09:16:30 -08:00
Chris R f050e09283 Revert use of explicit converters that prevent APIs from returning null. 2015-11-04 16:03:36 -08:00
Nick Craver bacf76098e Performance improvements
This adds additional performance improvements (namely string.Concat
overloads) on top of #411.
2015-11-03 06:55:13 -05:00
Chris R 7e573631f7 Make other FormReader.ReadForm return Dictionary. 2015-11-02 15:56:06 -08:00
Ben Adams 3c2e2b9d98 #426 Less alloc/wrapping/boxing for Query, Forms, Cookies 2015-11-02 14:47:46 -08:00
Cesar Blum Silveira af0d2e5888 Merge branch 'release' into dev 2015-11-02 13:38:08 -08:00
Doug Bunting 037196d5c7 Restore `null` and `string.Empty` handling from `EncoderExtensions`
- prior test encoders were never invoked for `null` or empty `string`s e.g.
``` c#
    public static void HtmlEncode(this IHtmlEncoder htmlEncoder, string value, TextWriter output)
    {
...
        if (!String.IsNullOrEmpty(value))
        {
            htmlEncoder.HtmlEncode(value, 0, value.Length, output);
        }
    }
```
- add missing `null` checks and handle `string.Empty` in `TextWriter output, string value, ...` overloads
  - better match for the underlying `TextEncoder` behaviour
  - `EncoderExtensions` provided an API like `TextEncoder.Encode(TextWriter output, string value)`
    - that method calls `Encode(TextWriter output, string value, int startIndex, int characterCount)`
2015-11-02 09:40:42 -08:00
Cesar Blum Silveira e934f5e4ed Strong name everything. 2015-10-30 15:36:55 -07:00
David Fowler c80946260a Change the namespace of RequestDelegate
- change it to Microsoft.AspNet.Http
2015-10-30 12:25:21 -07:00
Chris R 99aa148342 Remove un-used namespace. 2015-10-30 10:56:00 -07:00
Chris R be4fb46281 #391 Migrate to System.Text.Encoding.Web 2015-10-30 10:13:02 -07:00
Pranav K f177f0c760 Add ForbidAsync overload for automatic authentication scheme. 2015-10-29 14:55:39 -07:00
John Luo 018f3d1815 Renaming HttpContextFactory Create method 2015-10-23 21:58:22 -07:00
John Luo f931cb7c6d Moving httpcontextfactory to AspNet.Http.Abstractions 2015-10-23 21:49:52 -07:00
Doug Bunting bcb56bdd1a Rename `AppendEncoded()` to `AppendHtml()` and `SetContentEncoded()` to `SetHtmlContent()`
- aspnet/Mvc#3225, 1 of 3

Also correct parameter names and doc comments
- add `xml-docs-test` to ensure this doc comments remain valid in the future
2015-10-22 16:41:17 -07:00
Pranav K 0219aabc17 Switching to using generations TFM 2015-10-21 21:11:25 -07:00
Doug Bunting 9d7300c52b Revert "Rename `AppendEncoded()` to `AppendHtml()`"
This reverts commit 14c96f695a.
2015-10-21 15:45:55 -07:00
Doug Bunting 14c96f695a Rename `AppendEncoded()` to `AppendHtml()`
- aspnet/Mvc#3225, 1 of 3
2015-10-21 15:43:42 -07:00
DamianEdwards 7ed6a6cb57 Add doc-comments for main APIs
- Coherence-Signed#75
2015-10-19 16:33:19 -07:00
Ryan Nowak 221df71425 Incorporate StringSegment from primitives 2015-10-16 08:39:58 -07:00
Ben Adams 3276115877 Comment sp 2015-10-16 00:40:37 +01:00
Ben Adams e01a05d214 Move RequestIdentifierFeature to HttpContext
Rebased #435
Allow lazier instantiation
Expose TraceIdentifier on Httpcontext
Also resolves #412

Add tests
2015-10-15 22:00:45 +01:00
David Fowler d565659de7 Merge pull request #420 from benaadams/Features-perf
Remove FeatureReference indirection
2015-10-15 04:03:23 -07:00
Ben Adams 1f4ca55799 Features performance
Use FeatureCacheHelpers static methods rather than struct FeatureReference by default for lower allocation
2015-10-14 23:59:29 +01:00
Hao Kung d28c6e1dbb Changes for error handling in Authentication 2015-10-14 14:44:50 -07:00
Doug Bunting 0581bcf008 Update `MediaTypeHeaderValue.IsSubsetOf()` to perform consistent checks
- aspnet/Mvc#3138 part 1/2
  - check parameters with same polarity as type and subtype
    - ignore quality factors
  - bug was obscured because MVC has no formatters supporting wildcard media types

nits:
- add doc comments
- spelling
- correct typo in a `project.json` file
2015-10-14 12:07:07 -07:00
Chris R 3741d38691 #426 Move IHeaderDictionary to Features to reduce wrapping. 2015-10-08 08:36:27 -07:00
damianedwards 8ecb147332 Added overload to PathString.StartsWithSegments to allow specifying StringComparison:
- This allows us to have a fast-path (or just be more explicit) for the comparison by doing case-sensitive checks (which are cheaper)
2015-10-04 21:54:52 -07:00
Pranav K 61466af7a3 Renaming Microsoft.Framework.* -> Microsoft.Extensions.* 2015-10-03 15:44:37 -07:00
Pranav K 78a8748248 Fixing build break 2015-10-03 11:12:41 -07:00