/usr/share/ada/adainclude/aws/aws-headers-values.ads is in libaws3.3.2.2-dev 17.2.2017-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | ------------------------------------------------------------------------------
-- Ada Web Server --
-- --
-- Copyright (C) 2002-2014, AdaCore --
-- --
-- This library is free software; you can redistribute it and/or modify --
-- it under terms of the GNU General Public License as published by the --
-- Free Software Foundation; either version 3, or (at your option) any --
-- later version. This library is distributed in the hope that it will be --
-- useful, but WITHOUT ANY WARRANTY; without even the implied warranty of --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
-- --
-- --
-- --
-- --
-- --
-- You should have received a copy of the GNU General Public License and --
-- a copy of the GCC Runtime Library Exception along with this program; --
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
-- <http://www.gnu.org/licenses/>. --
-- --
-- --
-- --
-- --
-- --
-- --
-- --
------------------------------------------------------------------------------
with Ada.Strings.Unbounded;
package AWS.Headers.Values is
use Ada.Strings.Unbounded;
Format_Error : exception renames Headers.Format_Error;
-- Data represent a token from an header line. There is two kinds of
-- token, either named or un-named.
--
-- Content-Type: xyz boundary="uvt"
--
-- Here xyz is an un-named value and uvt a named value the name is
-- boundary.
type Data (Named_Value : Boolean := True) is record
Value : Unbounded_String;
case Named_Value is
when True =>
Name : Unbounded_String;
when False =>
null;
end case;
end record;
type Set is array (Positive range <>) of Data;
-----------
-- Parse --
-----------
generic
with procedure Value (Item : String; Quit : in out Boolean);
-- Called for every un-named value read from the header value
with procedure Named_Value
(Name : String;
Value : String;
Quit : in out Boolean);
-- Called for every named value read from the header value
procedure Parse (Header_Value : String);
-- Look for un-named values and named ones (Name="Value" pairs) in the
-- header line, and call appropriate routines when found. Quit is set to
-- False before calling Value or Named_Value, the parsing can be stopped
-- by setting Quit to True.
-------------------
-- Split / Index --
-------------------
function Split (Header_Value : String) return Set;
-- Returns a Set with each named and un-named values splited from Data
function Index
(Set : Values.Set;
Name : String;
Case_Sensitive : Boolean := True) return Natural;
-- Returns index for Name in the set or 0 if Name not found.
-- If Case_Sensitive is false the find is case_insensitive.
---------------------------
-- Other search routines --
---------------------------
function Search
(Header_Value : String;
Name : String;
Case_Sensitive : Boolean := True) return String;
-- Returns Value for Name in Header_Value or the empty string if Name not
-- found. If Case_Sensitive is False the search is case insensitive.
function Get_Unnamed_Value
(Header_Value : String; N : Positive := 1) return String;
-- Returns N-th un-named value from Header_Value
function Unnamed_Value_Exists
(Header_Value : String;
Value : String;
Case_Sensitive : Boolean := True) return Boolean;
-- Returns True if the unnamed value specified has been found in
-- Header_Value.
end AWS.Headers.Values;
|