コード例 #1
0
        public ScApiSession(
            ISessionConfig config,
            IWebApiCredentials credentials,
            IMediaLibrarySettings mediaSettings,
            ItemSource defaultSource = null)
        {
            if (null == config)
            {
                throw new ArgumentNullException("ScApiSession.config cannot be null");
            }

            this.sessionConfig = config.SessionConfigShallowCopy();
            this.requestMerger = new UserRequestMerger(this.sessionConfig, defaultSource);

            if (null != credentials)
            {
                this.credentials = credentials.CredentialsShallowCopy();
            }

            if (null != mediaSettings)
            {
                this.mediaSettings = mediaSettings.MediaSettingsShallowCopy();
            }

            this.httpClient = new HttpClient();
        }
コード例 #2
0
        public void TestCustomMediaHook()
        {
            SessionConfigPOD sessionConfig = new SessionConfigPOD();

            sessionConfig.InstanceUrl       = "htTP://CUSTOM.hoST";
            sessionConfig.ItemWebApiVersion = "v1";
            sessionConfig.Site             = "/sitecore/shell";
            sessionConfig.MediaLibraryRoot = "/SiteCore/Other Media Library";
            sessionConfig.DefaultMediaResourceExtension = "ZIP";
            sessionConfig.MediaPrefix = "~/MediaXyZ";

            ISessionConfig        sessionSettings = sessionConfig;
            IMediaLibrarySettings mediaSettings   = sessionConfig;


            ItemSource itemSource = LegacyConstants.DefaultSource();

            this.builder = new MediaItemUrlBuilder(this.restGrammar, this.webApiGrammar, sessionSettings, mediaSettings, itemSource);

            var customBuilder =
                new MediaItemUrlBuilder(
                    this.restGrammar,
                    this.webApiGrammar,
                    sessionSettings,
                    mediaSettings,
                    itemSource);


            string result   = customBuilder.BuildUrlStringForPath("~/mediaXYZ/1.png.ashx", null);
            string expected = "http://custom.host/~/mediaxyz/1.png.ashx?db=web&la=en";

            Assert.AreEqual(expected, result);
        }
コード例 #3
0
    public ScApiSession(
      ISessionConfig config,
      IWebApiCredentials credentials,
      IMediaLibrarySettings mediaSettings,
      ItemSource defaultSource = null,
      HttpMessageHandler httpMessageHandler = null)
    {
      if (null == config)
      {
        throw new ArgumentNullException("ScApiSession.config cannot be null");
      }

      this.sessionConfig = config.SessionConfigShallowCopy();
      this.requestMerger = new UserRequestMerger(this.sessionConfig, defaultSource);

      if (null != credentials)
      {
        this.credentials = credentials.CredentialsShallowCopy();
      }

      if (null != mediaSettings)
      {
        this.mediaSettings = mediaSettings.MediaSettingsShallowCopy();
      }

      this.httpClient = httpMessageHandler == null ? new HttpClient() : new HttpClient(httpMessageHandler);
    }
コード例 #4
0
        public ScApiSession(
            ISessionConfig config,
            IEntitySource entitySource,
            IScCredentials credentials,
            IMediaLibrarySettings mediaSettings,
            ItemSource defaultSource = null)
        {
            if (null == config)
            {
                throw new ArgumentNullException("ScApiSession.config cannot be null");
            }

            if (entitySource != null)
            {
                this.entitySource = entitySource.ShallowCopy();
            }

            this.sessionConfig = config.SessionConfigShallowCopy();
            this.requestMerger = new UserRequestMerger(this.sessionConfig, defaultSource, this.entitySource);

            if (null != credentials)
            {
                this.credentials = credentials.CredentialsShallowCopy();
            }

            if (null != mediaSettings)
            {
                this.mediaSettings = mediaSettings.MediaSettingsShallowCopy();
            }

            this.cookies = new CookieContainer();
            this.handler = new HttpClientHandler();
            this.handler.CookieContainer = cookies;
            this.httpClient = new HttpClient(this.handler);
        }
コード例 #5
0
 public ScTestApiSession(
   ISessionConfig config,
   IWebApiCredentials credentials,
   IMediaLibrarySettings mediaSettings,
   ItemSource defaultSource = null) :
   base(config, credentials, mediaSettings, defaultSource)
 {
   this.GetPublicKeyInvocationsCount = 0;
 }
コード例 #6
0
 public ScTestApiSession(
     ISessionConfig config,
     IWebApiCredentials credentials,
     IMediaLibrarySettings mediaSettings,
     ItemSource defaultSource = null) :
     base(config, credentials, mediaSettings, defaultSource)
 {
     this.GetPublicKeyInvocationsCount = 0;
 }
コード例 #7
0
 public UploadMediaUrlBuilder(
     IRestServiceGrammar restGrammar,
     IWebApiUrlParameters webApiGrammar,
     ISessionConfig sessionConfig,
     IMediaLibrarySettings mediaSettings
     )
 {
     this.mediaSettings = mediaSettings;
     this.restGrammar   = restGrammar;
     this.mediaSettings = mediaSettings;
     this.webApiGrammar = webApiGrammar;
 }
コード例 #8
0
 public UploadMediaUrlBuilder(
   IRestServiceGrammar restGrammar,
   IWebApiUrlParameters webApiGrammar,
   ISessionConfig sessionConfig,
   IMediaLibrarySettings mediaSettings
 )
 {
   this.mediaSettings = mediaSettings;
   this.restGrammar = restGrammar;
   this.mediaSettings = mediaSettings;
   this.webApiGrammar = webApiGrammar;
 }
コード例 #9
0
    public void SetUp()
    {
      this.credentials = new WebApiCredentialsPOD(
        "alex.fergusson", 
        "man u is a champion");

      this.mediaSettings = new MediaLibrarySettings(
        "/sitecore/media library",
        "ashx",
        "~/media/");

      this.localhostConnection = new SessionConfig("localhost");
    }
コード例 #10
0
        public void SetUp()
        {
            this.credentials = new WebApiCredentialsPOD(
                "alex.fergusson",
                "man u is a champion");

            this.mediaSettings = new MediaLibrarySettings(
                "/sitecore/media library",
                "ashx",
                "~/media/");

            this.localhostConnection = new SessionConfig("localhost");
        }
コード例 #11
0
    public MediaItemUrlBuilder(
      IRestServiceGrammar restGrammar,
      IWebApiUrlParameters webApiGrammar,
      ISessionConfig sessionConfig,
      IMediaLibrarySettings mediaSettings,
      IItemSource itemSource)
    {
      this.itemSource = itemSource;
      this.restGrammar = restGrammar;
      this.webApiGrammar = webApiGrammar;
      this.mediaSettings = mediaSettings;
      this.sessionConfig = sessionConfig;

      this.Validate();
    }
コード例 #12
0
        public MediaItemUrlBuilder(
            IRestServiceGrammar restGrammar,
            ISSCUrlParameters sscGrammar,
            ISessionConfig sessionConfig,
            IMediaLibrarySettings mediaSettings,
            IItemSource itemSource)
        {
            this.itemSource    = itemSource;
            this.restGrammar   = restGrammar;
            this.sscGrammar    = sscGrammar;
            this.mediaSettings = mediaSettings;
            this.sessionConfig = sessionConfig;

            this.Validate();
        }
コード例 #13
0
        public void SetUp()
        {
            this.webApiGrammar = SSCUrlParameters.ItemSSCV2UrlParameters();
            this.restGrammar   = RestServiceGrammar.ItemSSCV2Grammar();

            SessionConfigPOD sessionConfig = new SessionConfigPOD();

            sessionConfig.InstanceUrl      = "http://test.host";
            sessionConfig.MediaLibraryRoot = "/sitecore/media library";
            sessionConfig.DefaultMediaResourceExtension = "ashx";
            sessionConfig.MediaPrefix = "~/media";

            ISessionConfig        sessionSettings = sessionConfig;
            IMediaLibrarySettings mediaSettings   = sessionConfig;

            ItemSource itemSource = LegacyConstants.DefaultSource();

            this.builder = new MediaItemUrlBuilder(this.restGrammar, this.webApiGrammar, sessionSettings, mediaSettings, itemSource);
        }
コード例 #14
0
        public void SetUp()
        {
            IRestServiceGrammar  restGrammar   = RestServiceGrammar.ItemWebApiV2Grammar();
            IWebApiUrlParameters webApiGrammar = WebApiUrlParameters.ItemWebApiV2UrlParameters();

            SessionConfigPOD mutableSessionConfig = new SessionConfigPOD();

            mutableSessionConfig.ItemWebApiVersion = "v234";
            mutableSessionConfig.InstanceUrl       = "mobiledev1ua1.dk.sitecore.net:7119";
            mutableSessionConfig.Site = "/sitecore/shell";

            ItemSource source = LegacyConstants.DefaultSource();

            this.requestMerger = new UserRequestMerger(mutableSessionConfig, source);

            IMediaLibrarySettings mediaSettings = mutableSessionConfig;

            this.builder = new UploadMediaUrlBuilder(restGrammar, webApiGrammar, mutableSessionConfig, mediaSettings);
        }
コード例 #15
0
 public void TearDown()
 {
     this.mediaSettings       = null;
     this.credentials         = null;
     this.localhostConnection = null;
 }
コード例 #16
0
 public MediaPathValidator(IMediaLibrarySettings mediaSettings)
 {
   this.mediaSettings = mediaSettings;
 }
コード例 #17
0
 public void TearDown()
 {
   this.mediaSettings = null;
   this.credentials = null;
   this.localhostConnection = null;
 }
コード例 #18
0
 public MediaPathValidator(IMediaLibrarySettings mediaSettings)
 {
     this.mediaSettings = mediaSettings;
 }