// Token: 0x06001AD7 RID: 6871 RVA: 0x00065FAC File Offset: 0x000641AC private static WacAttachmentType GetResultForStreamAttachment(CallContext callContext, UserContext userContext, ConfigurationContext configurationContext, AttachmentPolicy attachmentPolicy, bool isPublicLogon, string cultureName, bool isEdit, IStreamAttachment attachment, string attachmentExtension, AttachmentIdType attachmentIdType, bool isInDraft, IStoreSession storeSession, string mailboxSmtpAddress, bool isArchive) { WacFileRep wacFileRep = GetWacAttachmentInfo.CreateWacFileRep(callContext, configurationContext, attachmentPolicy, isPublicLogon, isEdit, isArchive); HttpRequest request = callContext.HttpContext.Request; string text; string arg; GetWacAttachmentInfo.GenerateWopiSrcUrl(request, wacFileRep, mailboxSmtpAddress, out text, out arg); if (text == null) { throw new OwaInvalidOperationException("WOPI URL is null."); } string id = attachmentIdType.Id; TokenResult oauthToken = GetWacAttachmentInfo.GetOAuthToken(id, userContext, mailboxSmtpAddress, text); string exchangeSessionId = WacUtilities.GetExchangeSessionId(oauthToken.TokenString); callContext.ProtocolLog.Set(GetWacAttachmentInfoMetadata.ExchangeSessionId, exchangeSessionId); SecurityIdentifier effectiveCallerSid = callContext.EffectiveCallerSid; CachedAttachmentInfo.GetInstance(mailboxSmtpAddress, id, exchangeSessionId, effectiveCallerSid, cultureName); string wacUrl = GetWacAttachmentInfo.GetWacUrl(isEdit, cultureName, attachmentExtension); if (string.IsNullOrEmpty(wacUrl)) { throw new OwaInvalidRequestException(string.Format("Wac Base Url is null for this given extension {0} and culture {1}", attachmentExtension, cultureName)); } new Uri(wacUrl); string format = "{0}WOPISrc={1}&access_token={2}"; string arg2 = HttpUtility.UrlEncode(oauthToken.TokenString); string text2 = string.Format(format, wacUrl, HttpUtility.UrlEncode(text), arg2); string value = string.Format(format, wacUrl, arg, arg2); callContext.ProtocolLog.Set(GetWacAttachmentInfoMetadata.WacUrl, value); if (!Uri.IsWellFormedUriString(text2, UriKind.Absolute)) { throw new OwaInvalidOperationException("The WAC Iframe URL that was generated is not a well formed URI: " + text2); } return(new WacAttachmentType { AttachmentId = attachmentIdType, IsEdit = isEdit, IsInDraft = isInDraft, WacUrl = text2, Status = WacAttachmentStatus.Success }); }