Skip to content

Commit

Permalink
#57 - testing nuget packages and making some modifications to allow f…
Browse files Browse the repository at this point in the history
…ull plug-and-chug (ie: no missing imports, etc).
  • Loading branch information
mccalltd committed Apr 16, 2012
1 parent 9db0ae1 commit cac69ff
Show file tree
Hide file tree
Showing 12 changed files with 96 additions and 103 deletions.
4 changes: 3 additions & 1 deletion .gitignore
@@ -1,3 +1,4 @@
build/
bin/
obj/
_ReSharper.*
Expand All @@ -7,4 +8,5 @@ _ReSharper.*
*.suo
*.cache
App_Data/
packages/
packages/
src/**/*.nuspec
2 changes: 1 addition & 1 deletion src/AttributeRouting.Shared.nuspec
Expand Up @@ -7,6 +7,6 @@
<owners>Tim McCall</owners>
<copyright>© 2012 Tim McCall</copyright>
<projectUrl>https://github.com/mccalltd/AttributeRouting/wiki</projectUrl>
<tags>attribute, routing, route, asp.net, mvc, webapi</tags>
<tags>attribute, routing, route, asp.net, mvc, webapi, web, api, selfhost, self, host</tags>
</metadata>
</package>
15 changes: 5 additions & 10 deletions src/AttributeRouting.Web.Http.SelfHost/AttributeRouting.cs.pp
@@ -1,30 +1,25 @@
using System.Web.Http.Routing;
using System.Reflection;
using System.Web.Http.SelfHost;
using AttributeRouting.Web.Http.SelfHost;
using AttributeRouting.Web.Http.SelfHost.Logging;

namespace $rootnamespace$ {
public static class AttributeRouting {

// Call this static method from a start up class in your applicaton (e.g.Program.cs)
// Pass in the configuration you're using for your self-hosted Web API
public static void RegisterRoutes(HttpSelfHostConfiguration config) {
// See http://github.com/mccalltd/AttributeRouting/wiki/3.-Configuration for more options.
// To debug routes locally, you can use
//
// See http://github.com/mccalltd/AttributeRouting/wiki for more options.
// To debug routes locally, you can log to Console.Out (or any other TextWriter) like so:
// config.Routes.Cast<HttpRoute>().LogTo(Console.Out);
//
// In a console application (or to any other TextWriter)

// Self-hosted Web API

// Attribute Routing
config.Routes.MapHttpAttributeRoutes(cfg =>
{
cfg.ScanAssemblyOf<AttributeRouting>();
cfg.ScanAssembly(Assembly.GetExecutingAssembly());
// Must have this on, otherwise you need to specify RouteName
// in your attributes
// Must have this on, otherwise you need to specify RouteName in your attributes
cfg.AutoGenerateRouteNames = true;
});
}
Expand Down
@@ -1,8 +1,8 @@
using System;
using System.Net.Http;
using System;
using System.Net.Http;
using System.Threading;
using System.Web.Http.Controllers;
using System.Web.Http.Routing;
using System.Web.Http.Controllers;
using System.Web.Http.Routing;
using AttributeRouting.Framework.Factories;
using AttributeRouting.Web.Http.SelfHost.Framework.Factories;

Expand Down Expand Up @@ -54,7 +54,7 @@ public override IParameterFactory ParameterFactory

/// <summary>
/// this delegate returns the current UI culture name.
/// This value is used when constraining inbound routes by culture <see cref="AttributeRoutingConfiguration{TRequestContext,TRouteData}.ConstrainTranslatedRoutesByCurrentUICulture"/>.
/// This value is used when constraining inbound routes by culture.
/// The default delegate returns the CurrentUICulture name of the current thread.
/// </summary>
public Func<HttpRequestMessage, IHttpRouteData, string> CurrentUICultureResolver { get; set; }
Expand Down
@@ -1,62 +1,62 @@
using System;
using System.Linq;
using System.Reflection;
using System.Web.Http;
using System.Web.Http.Routing;
using System;
using System.Linq;
using System.Reflection;
using System.Web.Http;
using System.Web.Http.Routing;
using AttributeRouting.Framework;

namespace AttributeRouting.Web.Http.SelfHost
{
/// <summary>
/// Extensions to the HttpRouteCollection
/// </summary>
public static class HttpRouteCollectionExtensions
{
/// <summary>
/// Scans the calling assembly for all routes defined with AttributeRouting attributes,
/// using the default conventions.
/// </summary>
public static void MapHttpAttributeRoutes(this HttpRouteCollection routes)
{
var configuration = new HttpAttributeRoutingConfiguration();
configuration.ScanAssembly(Assembly.GetCallingAssembly());

routes.MapHttpAttributeRoutesInternal(configuration);
}

/// <summary>
/// Scans the specified assemblies for all routes defined with AttributeRouting attributes,
/// and applies configuration options against the routes found.
/// </summary>
/// <param name="routes"></param>
/// <param name="configurationAction">
/// The initialization action that builds the configuration object.
/// </param>
public static void MapHttpAttributeRoutes(this HttpRouteCollection routes, Action<HttpAttributeRoutingConfiguration> configurationAction)
{
var configuration = new HttpAttributeRoutingConfiguration();
configurationAction.Invoke(configuration);

routes.MapHttpAttributeRoutesInternal(configuration);
}

/// <summary>
/// Scans the specified assemblies for all routes defined with AttributeRouting attributes,
/// and applies configuration options against the routes found.
/// </summary>
/// <param name="configuration">
/// The configuration object.
/// </param>
public static void MapHttpAttributeRoutes(this HttpRouteCollection routes, HttpAttributeRoutingConfiguration configuration)
{
routes.MapHttpAttributeRoutesInternal(configuration);
}

private static void MapHttpAttributeRoutesInternal(this HttpRouteCollection routes, HttpAttributeRoutingConfiguration configuration)
{
var generatedRoutes = new RouteBuilder(configuration).BuildAllRoutes();

generatedRoutes.ToList().ForEach(r => routes.Add(r.RouteName, (HttpRoute)r));
}
}
namespace AttributeRouting.Web.Http.SelfHost
{
/// <summary>
/// Extensions to the HttpRouteCollection
/// </summary>
public static class HttpRouteCollectionExtensions
{
/// <summary>
/// Scans the calling assembly for all routes defined with AttributeRouting attributes,
/// using the default conventions.
/// </summary>
public static void MapHttpAttributeRoutes(this HttpRouteCollection routes)
{
var configuration = new HttpAttributeRoutingConfiguration();
configuration.ScanAssembly(Assembly.GetCallingAssembly());

routes.MapHttpAttributeRoutesInternal(configuration);
}

/// <summary>
/// Scans the specified assemblies for all routes defined with AttributeRouting attributes,
/// and applies configuration options against the routes found.
/// </summary>
/// <param name="routes"></param>
/// <param name="configurationAction">
/// The initialization action that builds the configuration object.
/// </param>
public static void MapHttpAttributeRoutes(this HttpRouteCollection routes, Action<HttpAttributeRoutingConfiguration> configurationAction)
{
var configuration = new HttpAttributeRoutingConfiguration();
configurationAction.Invoke(configuration);
routes.MapHttpAttributeRoutesInternal(configuration);
}

/// <summary>
/// Scans the specified assemblies for all routes defined with AttributeRouting attributes,
/// and applies configuration options against the routes found.
/// </summary>
/// <param name="configuration">
/// The configuration object.
/// </param>
public static void MapHttpAttributeRoutes(this HttpRouteCollection routes, HttpAttributeRoutingConfiguration configuration)
{
routes.MapHttpAttributeRoutesInternal(configuration);
}

private static void MapHttpAttributeRoutesInternal(this HttpRouteCollection routes, HttpAttributeRoutingConfiguration configuration)
{
var generatedRoutes = new RouteBuilder(configuration).BuildAllRoutes();

generatedRoutes.ToList().ForEach(r => routes.Add(r.RouteName, (HttpRoute)r));
}
}
}
@@ -1,14 +1,12 @@
using System.Web.Routing;
using System.Web.Http;
using System.Web.Http.Routing;
using AttributeRouting.Web.Http.WebHost;

[assembly: WebActivator.PreApplicationStartMethod(typeof($rootnamespace$.App_Start.AttributeRouting), "Start")]
[assembly: WebActivator.PreApplicationStartMethod(typeof($rootnamespace$.App_Start.AttributeRoutingHttp), "Start")]

namespace $rootnamespace$.App_Start {
public static class AttributeRoutingHttp {
public static void RegisterRoutes(RouteCollection routes) {
// See http://github.com/mccalltd/AttributeRouting/wiki/3.-Configuration for more options.
// See http://github.com/mccalltd/AttributeRouting/wiki for more options.
// To debug routes locally using the built in ASP.NET development server, go to /routes.axd

// ASP.NET Web API
Expand Down
2 changes: 1 addition & 1 deletion src/AttributeRouting.Web.Http.WebHost/web.config.transform
@@ -1,7 +1,7 @@
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="routes.axd" type="AttributeRouting.Logging.LogRoutesHandler, AttributeRouting.Web" />
<add verb="*" path="routes.axd" type="AttributeRouting.Web.Logging.LogRoutesHandler, AttributeRouting.Web" />
</httpHandlers>
</system.web>
<system.webServer>
Expand Down
Expand Up @@ -41,7 +41,7 @@ public override IEnumerable<RouteAttributeBase> GetRouteAttributes(MethodInfo ac
yield break;
}

if (actionMethod.GetBaseDefinition().DeclaringType.IsAssignableFrom(typeof(ApiController)))
if (actionMethod.GetBaseDefinition().SafeGet(x => x.DeclaringType).IsAssignableFrom(typeof(ApiController)))
{
// is a method on Object, IHttpController, ApiController
yield break;
Expand Down
7 changes: 3 additions & 4 deletions src/AttributeRouting.Web.Mvc/AttributeRouting.cs.pp
@@ -1,13 +1,12 @@
using System.Web.Mvc;
using System.Web.Routing;
using AttributeRouting;
using System.Web.Routing;
using AttributeRouting.Web.Mvc;

[assembly: WebActivator.PreApplicationStartMethod(typeof($rootnamespace$.App_Start.AttributeRouting), "Start")]

namespace $rootnamespace$.App_Start {
public static class AttributeRouting {
public static void RegisterRoutes(RouteCollection routes) {
// See http://github.com/mccalltd/AttributeRouting/wiki/3.-Configuration for more options.
// See http://github.com/mccalltd/AttributeRouting/wiki for more options.
// To debug routes locally using the built in ASP.NET development server, go to /routes.axd
routes.MapAttributeRoutes();
}
Expand Down
2 changes: 1 addition & 1 deletion src/AttributeRouting.Web.Mvc/web.config.transform
@@ -1,7 +1,7 @@
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="routes.axd" type="AttributeRouting.Logging.LogRoutesHandler, AttributeRouting.Web" />
<add verb="*" path="routes.axd" type="AttributeRouting.Web.Logging.LogRoutesHandler, AttributeRouting.Web" />
</httpHandlers>
</system.web>
<system.webServer>
Expand Down
10 changes: 5 additions & 5 deletions src/AttributeRouting.Web/WebAttributeRoutingConfiguration.cs
@@ -1,7 +1,7 @@
using System;
using System.Threading;
using System.Web;
using System.Web.Routing;
using System;
using System.Threading;
using System.Web;
using System.Web.Routing;
using AttributeRouting.Framework.Factories;
using AttributeRouting.Web.Framework.Factories;

Expand Down Expand Up @@ -75,4 +75,4 @@ public void UseRouteHandler(Func<IRouteHandler> routeHandlerFactory)
/// </summary>
public Func<HttpContextBase, RouteData, string> CurrentUICultureResolver { get; set; }
}
}
}
21 changes: 10 additions & 11 deletions src/AttributeRouting/AttributeRoutingConfigurationBase.cs
@@ -1,9 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using AttributeRouting.Framework.Factories;
using AttributeRouting.Framework.Localization;
using AttributeRouting.Framework.Factories;
using AttributeRouting.Framework.Localization;
using AttributeRouting.Helpers;

namespace AttributeRouting
Expand All @@ -13,12 +13,6 @@ namespace AttributeRouting
/// </summary>
public abstract class AttributeRoutingConfigurationBase
{

/// <summary>
/// Type of the framework controller (IController, IHttpController)
/// </summary>
public abstract Type FrameworkControllerType { get; }

/// <summary>
/// Creates and initializes a new configuration object.
/// </summary>
Expand All @@ -43,6 +37,11 @@ protected AttributeRoutingConfigurationBase()
};
}

/// <summary>
/// Type of the framework controller (IController, IHttpController)
/// </summary>
public abstract Type FrameworkControllerType { get; }

/// <summary>
/// Attribute factory
/// </summary>
Expand Down

0 comments on commit cac69ff

Please sign in to comment.