<container name="api"> <!--api virtual path information--> <register type="ASC.Api.Interfaces.IApiConfiguration" mapTo="ASC.Specific.AscApiConfiguration"> <lifetime type="singleton" /> <constructor> <param name="prefix" value="api" type="System.String"></param> <param name="version" value="1.0" type="System.String"></param> <param name="maxPage" value="1500000" type="System.UInt32"></param> </constructor> </register> <!--authorization registration--> <register type="ASC.Api.Interfaces.IApiAuthorization" mapTo="ASC.Specific.AscCookieAuthorization" name="asc_cookie"> <lifetime type="singleton" /> </register> <register type="ASC.Api.Interfaces.IApiAuthorization" mapTo="ASC.Specific.AscBasicAuthorization" name="asc_basic"> <lifetime type="singleton" /> </register> <!--caching of results--> <register type="ASC.Api.Interfaces.Cache.IApiCacheMethodKeyBuilder" mapTo="ASC.Specific.TenantCacheKeyBuilder"> <lifetime type="singleton" /> </register> <!--logging--> <register type="ASC.Api.Logging.ILog" mapTo="ASC.Specific.Log4NetLog"> <lifetime type="singleton" /> </register> <!--global filters--> <register type="ASC.Api.Attributes.ApiCallFilter" mapTo="ASC.Specific.GloabalFilters.TenantRateLimitingFilter" name="ratelimiting"> <lifetime type="singleton"/> <constructor> <param name="maxRate" value="3000"></param> <param name="cooldown" value="1000"></param> <param name="sliding" value="false"></param> <param name="basedomain" value="temalab.com"></param> </constructor> </register> <register type="ASC.Api.Attributes.ApiCallFilter" mapTo="ASC.Specific.GloabalFilters.AccessControlFilter" name="Access-Control-Allow-Origin"> <lifetime type="singleton"/> </register> <!--analytics filter--> <register type="ASC.Api.Attributes.ApiCallFilter" mapTo="ASC.Specific.GloabalFilters.Analytics.MethodAccessCsvLogFilter" name="analytics-log"> <lifetime type="http_context"/> </register> <register type="ASC.Api.Attributes.ApiCallFilter" mapTo="ASC.Specific.GloabalFilters.ProductSecurityFilter" name="ProductSecurityFilter"> <lifetime type="singleton"/> </register> <!--api registration--> <!--!!! YOU MUST SPECIFY name FOR register entry point in order to work !!!--> <!--NOTE: as of 7.10.11 the name is the path part of API i.e. "people" will route /api/1.0/peolpe/... changing name will change route--> <!--APIS--> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.Employee.EmployeeApi" name="people"> <lifetime type="perresolve" /> </register> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.Employee.GroupsApi" name="group"> <lifetime type="perresolve" /> </register> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.Blogs.BlogApi" name="blog"> <lifetime type="perresolve" /> </register> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.Forums.ForumApi" name="forum"> <lifetime type="perresolve" /> </register> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.Events.EventApi" name="event"> <lifetime type="perresolve" /> </register> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.Photo.PhotoApi" name="photo"> <lifetime type="perresolve" /> </register> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.Bookmarks.BookmarkApi" name="bookmark"> <lifetime type="perresolve" /> </register> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.Projects.ProjectApi" name="project"> <lifetime type="perresolve" /> </register> <!--specific registration for projects--> <register type="ASC.Api.Interfaces.IApiBootstrapper" mapTo="ASC.Api.Projects.ProjectBootstrap" name="projectRegistration"> <lifetime type="singleton" /> </register> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.CRM.CRMApi" name="crm"> <lifetime type="perresolve" /> </register> <register type="ASC.Api.Interfaces.IApiBootstrapper" mapTo="ASC.Api.CRM.CRMBootstrap" name="crm"> <lifetime type="singleton" /> </register> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.Settings.SettingsApi" name="settings"> <lifetime type="perresolve" /> </register> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.Documents.DocumentsApi" name="files"> <lifetime type="perresolve" /> </register> <!--register IFileStorageService--> <register type="ASC.Web.Files.Services.WCFService.IFileStorageService" mapTo="ASC.Web.Files.Services.WCFService.Service"> <lifetime type="singleton"/> </register> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.Calendar.CalendarApi" name="calendar"> <lifetime type="perresolve"/> </register> <!--auth tokens api--> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Specific.AuthorizationApi.AuthenticationEntryPoint" name="authentication"> <lifetime type="perresolve"/> </register> <!--FEED API SECTION START--> <!--feed api--> <register type="ASC.Api.Interfaces.IApiEntryPoint" mapTo="ASC.Api.Feed.FeedApi" name="feed"> <lifetime type="perresolve"/> </register> <!--Register feed providers--> <register type="ASC.Feed.ActivityProvider.IActivityProvider" mapTo="ASC.Api.Employee.ActivityProviders.BirthdayActivityProvider" name="birthday"> <lifetime type="perresolve"/> </register> <register type="ASC.Feed.ActivityProvider.IActivityProvider" mapTo="ASC.Api.Employee.ActivityProviders.NewEmployesActivityProvider" name="newemployee"> <lifetime type="perresolve"/> </register> <register type="ASC.Feed.ActivityProvider.IActivityProvider" mapTo="ASC.Api.Blogs.ActivityProviders.BlogActivityProvider" name="blogs"> <lifetime type="perresolve"/> </register> <!--FEED API SECTION END--> </container>
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)