Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
67
Task/URL-parser/Ada/url-parser.ada
Normal file
67
Task/URL-parser/Ada/url-parser.ada
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
with Ada.Text_IO;
|
||||
|
||||
with AWS.URL;
|
||||
with AWS.Parameters;
|
||||
with AWS.Containers.Tables;
|
||||
|
||||
procedure URL_Parser is
|
||||
|
||||
procedure Parse (URL : in String) is
|
||||
|
||||
use AWS.URL, Ada.Text_IO;
|
||||
use AWS.Containers.Tables;
|
||||
|
||||
procedure Put_Cond (Item : in String;
|
||||
Value : in String;
|
||||
When_Not : in String := "") is
|
||||
begin
|
||||
if Value /= When_Not then
|
||||
Put (" "); Put (Item); Put_Line (Value);
|
||||
end if;
|
||||
end Put_Cond;
|
||||
|
||||
Obj : Object;
|
||||
List : Table_Type;
|
||||
begin
|
||||
Put_Line ("Parsing " & URL);
|
||||
|
||||
Obj := Parse (URL);
|
||||
List := Table_Type (AWS.Parameters.List'(AWS.URL.Parameters (Obj)));
|
||||
|
||||
Put_Cond ("Scheme: ", Protocol_Name (Obj));
|
||||
Put_Cond ("Domain: ", Host (Obj));
|
||||
Put_Cond ("Port: ", Port (Obj), When_Not => "0");
|
||||
Put_Cond ("Path: ", Path (Obj));
|
||||
Put_Cond ("File: ", File (Obj));
|
||||
Put_Cond ("Query: ", Query (Obj));
|
||||
Put_Cond ("Fragment: ", Fragment (Obj));
|
||||
Put_Cond ("User: ", User (Obj));
|
||||
Put_Cond ("Password: ", Password (Obj));
|
||||
|
||||
if List.Count /= 0 then
|
||||
Put_Line (" Parameters:");
|
||||
end if;
|
||||
for Index in 1 .. List.Count loop
|
||||
Put (" "); Put (Get_Name (List, N => Index));
|
||||
Put (" "); Put ("'" & Get_Value (List, N => Index) & "'");
|
||||
New_Line;
|
||||
end loop;
|
||||
New_Line;
|
||||
end Parse;
|
||||
|
||||
begin
|
||||
Parse ("foo://example.com:8042/over/there?name=ferret#nose");
|
||||
Parse ("urn:example:animal:ferret:nose");
|
||||
Parse ("jdbc:mysql://test_user:ouupppssss@localhost:3306/sakila?profileSQL=true");
|
||||
Parse ("ftp://ftp.is.co.za/rfc/rfc1808.txt");
|
||||
Parse ("http://www.ietf.org/rfc/rfc2396.txt#header1");
|
||||
Parse ("ldap://[2001:db8::7]/c=GB?objectClass=one&objectClass=two");
|
||||
Parse ("mailto:John.Doe@example.com");
|
||||
Parse ("news:comp.infosystems.www.servers.unix");
|
||||
Parse ("tel:+1-816-555-1212");
|
||||
Parse ("telnet://192.0.2.16:80/");
|
||||
Parse ("urn:oasis:names:specification:docbook:dtd:xml:4.1.2");
|
||||
Parse ("ssh://alice@example.com");
|
||||
Parse ("https://bob:pass@example.com/place");
|
||||
Parse ("http://example.com/?a=1&b=2+2&c=3&c=4&d=%65%6e%63%6F%64%65%64");
|
||||
end URL_Parser;
|
||||
Loading…
Add table
Add a link
Reference in a new issue