GetRequestMethod() 공개 메소드

public GetRequestMethod ( ) : string
리턴 string
예제 #1
0
 /// <exception cref="System.IO.IOException"></exception>
 internal override void ConfigureRequest(HttpURLConnection conn)
 {
     IDictionary<string, string> r = new LinkedHashMap<string, string>();
     string realm = @params.Get("realm");
     string nonce = @params.Get("nonce");
     string cnonce = @params.Get("cnonce");
     string uri = Uri(conn.GetURL());
     string qop = @params.Get("qop");
     string method = conn.GetRequestMethod();
     string A1 = user + ":" + realm + ":" + pass;
     string A2 = method + ":" + uri;
     r.Put("username", user);
     r.Put("realm", realm);
     r.Put("nonce", nonce);
     r.Put("uri", uri);
     string response;
     string nc;
     if ("auth".Equals(qop))
     {
         nc = string.Format("%08x", ++requestCount);
         response = KD(H(A1), nonce + ":" + nc + ":" + cnonce + ":" + qop + ":" + H(A2));
     }
     else
     {
         nc = null;
         response = KD(H(A1), nonce + ":" + H(A2));
     }
     r.Put("response", response);
     if (@params.ContainsKey("algorithm"))
     {
         r.Put("algorithm", "MD5");
     }
     if (cnonce != null && qop != null)
     {
         r.Put("cnonce", cnonce);
     }
     if (@params.ContainsKey("opaque"))
     {
         r.Put("opaque", @params.Get("opaque"));
     }
     if (qop != null)
     {
         r.Put("qop", qop);
     }
     if (nc != null)
     {
         r.Put("nc", nc);
     }
     StringBuilder v = new StringBuilder();
     foreach (KeyValuePair<string, string> e in r.EntrySet())
     {
         if (v.Length > 0)
         {
             v.Append(", ");
         }
         v.Append(e.Key);
         v.Append('=');
         v.Append('"');
         v.Append(e.Value);
         v.Append('"');
     }
     conn.SetRequestProperty(HttpSupport.HDR_AUTHORIZATION, NAME + " " + v);
 }
예제 #2
0
		/// <exception cref="System.IO.IOException"></exception>
		private void Authorize(HttpURLConnection c)
		{
			IDictionary<string, IList<string>> reqHdr = c.GetRequestProperties();
			SortedDictionary<string, string> sigHdr = new SortedDictionary<string, string>();
			foreach (KeyValuePair<string, IList<string>> entry in reqHdr.EntrySet())
			{
				string hdr = entry.Key;
				if (IsSignedHeader(hdr))
				{
					sigHdr.Put(StringUtils.ToLowerCase(hdr), ToCleanString(entry.Value));
				}
			}
			StringBuilder s = new StringBuilder();
			s.Append(c.GetRequestMethod());
			s.Append('\n');
			s.Append(Remove(sigHdr, "content-md5"));
			s.Append('\n');
			s.Append(Remove(sigHdr, "content-type"));
			s.Append('\n');
			s.Append(Remove(sigHdr, "date"));
			s.Append('\n');
			foreach (KeyValuePair<string, string> e in sigHdr.EntrySet())
			{
				s.Append(e.Key);
				s.Append(':');
				s.Append(e.Value);
				s.Append('\n');
			}
			string host = c.GetURL().GetHost();
			s.Append('/');
			s.Append(Sharpen.Runtime.Substring(host, 0, host.Length - DOMAIN.Length - 1));
			s.Append(c.GetURL().AbsolutePath);
			string sec;
			try
			{
				Mac m = Mac.GetInstance(HMAC);
				m.Init(privateKey);
				sec = Base64.EncodeBytes(m.DoFinal(Sharpen.Runtime.GetBytesForString(s.ToString()
					, "UTF-8")));
			}
			catch (NoSuchAlgorithmException e_1)
			{
				throw new IOException(MessageFormat.Format(JGitText.Get().noHMACsupport, HMAC, e_1
					.Message));
			}
			catch (InvalidKeyException e_1)
			{
				throw new IOException(MessageFormat.Format(JGitText.Get().invalidKey, e_1.Message
					));
			}
			c.SetRequestProperty("Authorization", "AWS " + publicKey + ":" + sec);
		}
예제 #3
0
			/// <exception cref="System.IO.IOException"></exception>
			internal override void ConfigureRequest(HttpURLConnection conn)
			{
				IDictionary<string, string> p = new Dictionary<string, string>(@params);
				p.Put("username", user);
				string realm = p.Get("realm");
				string nonce = p.Get("nonce");
				string uri = p.Get("uri");
				string qop = p.Get("qop");
				string method = conn.GetRequestMethod();
				string A1 = user + ":" + realm + ":" + pass;
				string A2 = method + ":" + uri;
				string expect;
				if ("auth".Equals(qop))
				{
					string c = p.Get("cnonce");
					string nc = string.Format("%08x", ++requestCount);
					p.Put("nc", nc);
					expect = KD(H(A1), nonce + ":" + nc + ":" + c + ":" + qop + ":" + H(A2));
				}
				else
				{
					expect = KD(H(A1), nonce + ":" + H(A2));
				}
				p.Put("response", expect);
				StringBuilder v = new StringBuilder();
				foreach (KeyValuePair<string, string> e in p.EntrySet())
				{
					if (v.Length > 0)
					{
						v.Append(", ");
					}
					v.Append(e.Key);
					v.Append('=');
					v.Append('"');
					v.Append(e.Value);
					v.Append('"');
				}
				conn.SetRequestProperty(HttpSupport.HDR_AUTHORIZATION, NAME + " " + v);
			}