public async Task GetSetupZip(string siteId)
        {
            var path   = Request.MapPath("/Files/");
            var ApiUrl = string.Format("{0}://{1}/", Request.Url.Scheme, Request.Url.Authority);
            var site   = await RemoteSiteUtil.GetSite(siteId);

            var filename = string.Format("{0}_setup.zip", site.OnPremDomainName.Replace(".", "_"));

            var zip = ZipCopy.SetupZip(path, site, ApiUrl);

            Response.Clear();
            Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
            Response.AddHeader("Content-Length", zip.Length.ToString());
            Response.ContentType = "application/octet-stream";
            Response.BinaryWrite(zip.ToArray());
        }
Beispiel #2
0
        public async Task <HttpResponseMessage> GetSiteServiceZip()
        {
            var siteId      = User.Identity.GetClaim(CustomClaimTypes.SiteId);
            var pathToFiles = System.Web.Hosting.HostingEnvironment.MapPath("/Files/");
            var apiUrl      = string.Format("{0}://{1}/", Request.RequestUri.Scheme, Request.RequestUri.Authority);
            var zip         = await ZipCopy.GetSetupZip(siteId, pathToFiles, apiUrl);

            var result = Request.CreateResponse(HttpStatusCode.OK);

            result.Content = new ByteArrayContent(zip.ToArray());
            result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
            var siteName = User.Identity.GetClaim(CustomClaimTypes.OnPremDomainName);
            var filename = string.Format("{0}_setup.zip", siteName.Replace(".", "_"));

            result.Content.Headers.ContentDisposition.FileName = filename;
            return(result);
        }
Beispiel #3
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AntiForgeryConfig.UniqueClaimTypeIdentifier = "http://schemas.microsoft.com/identity/claims/objectidentifier";

            try
            {
                DocDBRepo.Settings.DocDBUri     = ConfigurationManager.AppSettings["DocDBUri"];
                DocDBRepo.Settings.DocDBAuthKey = ConfigurationManager.AppSettings["DocDBAuthKey"];
                DocDBRepo.Settings.DocDBName    = ConfigurationManager.AppSettings["DocDBName"];

                Settings.StorageConnectionString = ConfigurationManager.AppSettings["StorageConnectionString"];
                Settings.STSApiKey    = ConfigurationManager.AppSettings["STSApiKey"];
                Settings.AdminSiteUrl = ConfigurationManager.AppSettings["AdminSiteUrl"];
                Settings.AdminApiKey  = ConfigurationManager.AppSettings["AdminApiKey"];

                Settings.ClientId     = ConfigurationManager.AppSettings["ida:ClientId"];
                Settings.ClientSecret = ConfigurationManager.AppSettings["ida:ClientSecret"];
                Settings.TenantId     = ConfigurationManager.AppSettings["ida:TenantId"];

                //Zip init
                ZipCopy.InitZip(Settings.AppRootPath);
                Settings.CurrSiteScriptVersion = ZipCopy.GetCurrSiteVersion(Path.Combine(Settings.AppRootPath, "Files"));

                var client = DocDBRepo.Initialize().Result;
            }
            catch (Exception ex)
            {
                Logging.WriteToAppLog("Error during site initialization", System.Diagnostics.EventLogEntryType.Error, ex);
                throw;
            }
        }