File : aws-response-set.ads
------------------------------------------------------------------------------
-- Ada Web Server --
-- --
-- Copyright (C) 2002-2003 --
-- ACT-Europe --
-- --
-- Authors: Dmitriy Anisimkov - Pascal Obry --
-- --
-- This library is free software; you can redistribute it and/or modify --
-- it under the terms of the GNU General Public License as published by --
-- the Free Software Foundation; either version 2 of the License, 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. See the GNU --
-- General Public License for more details. --
-- --
-- You should have received a copy of the GNU General Public License --
-- along with this library; if not, write to the Free Software Foundation, --
-- Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. --
-- --
-- As a special exception, if other files instantiate generics from this --
-- unit, or you link this unit with other files to produce an executable, --
-- this unit does not by itself cause the resulting executable to be --
-- covered by the GNU General Public License. This exception does not --
-- however invalidate any other reasons why the executable file might be --
-- covered by the GNU Public License. --
------------------------------------------------------------------------------
-- $Id: aws-response-set.ads,v 1.1 2003/10/05 19:59:58 Jano Exp $
with AWS.Net;
package AWS.Response.Set is
procedure Add_Header
(D : in out Data;
Name : in String;
Value : in String);
pragma Inline (Add_Header);
-- Add header name/value to the header container.
-- Should be used inside of server's callback when the user want
-- to add its own header lines to the response.
procedure Update_Header
(D : in out Data;
Name : in String;
Value : in String;
N : in Positive := 1);
pragma Inline (Update_Header);
-- Update N-th header name/value in the header container.
-- Should be used inside of server's callback when the user want
-- to add/modify its own header lines to the response.
procedure Read_Header (Socket : in Net.Socket_Type'Class; D : in out Data);
-- Read all header data from the socket and fill appropriate
-- data's fields.
procedure Mode
(D : in out Data;
Value : in Data_Mode);
pragma Inline (Mode);
-- Set the data mode.
-- Header, Message, File, Stream, Socket_Taken or No_Data.
procedure Status_Code
(D : in out Data;
Value : in Messages.Status_Code);
pragma Inline (Status_Code);
-- Set the status code
procedure Content_Type
(D : in out Data;
Value : in String);
pragma Inline (Content_Type);
-- Set the MIME type for the message body
procedure Cache_Control
(D : in out Data;
Value : in Messages.Cache_Option);
pragma Inline (Content_Type);
-- Set the Cache_Control mode for the message
procedure Content_Length
(D : in out Data;
Value : in Natural);
pragma Inline (Content_Length);
-- Set the MIME content length for the message body
procedure Filename
(D : in out Data;
Value : in String);
pragma Inline (Filename);
-- Set the filename which should be sent back.
-- set the Mode field to File.
procedure Location
(D : in out Data;
Value : in String);
pragma Inline (Location);
-- Set the location for the new page in the case of a moved
-- message. Should be used with redirection 3xx status codes.
procedure Authentication
(D : in out Data;
Realm : in String;
Mode : in Authentication_Mode := Basic;
Stale : in Boolean := False);
pragma Inline (Authentication);
-- Set the authentication mode requested by server. Set the status code to
-- the 401.
procedure Stream
(D : in out Data;
Handle : in Resources.Streams.Stream_Access;
Content_Length : in Content_Length_Type);
pragma Inline (Stream);
-- Set the user defined data stream. Set the Mode field to Stream.
procedure Message_Body
(D : in out Data;
Value : in Streams.Stream_Element_Array);
pragma Inline (Message_Body);
-- Set message body as a binary content. Set the Mode field to Message.
procedure Message_Body
(D : in out Data;
Value : in Utils.Stream_Element_Array_Access);
pragma Inline (Message_Body);
-- Set message body as a binary content. Set the Mode field to Message.
-- Note that there is no need to free Value object. This will be done when
-- the response object will have been sent.
procedure Message_Body
(D : in out Data;
Value : in Strings.Unbounded.Unbounded_String);
pragma Inline (Message_Body);
-- Set the message body content as a unbounded_string. Set the Mode field
-- to Message.
procedure Message_Body
(D : in out Data;
Value : in String);
pragma Inline (Message_Body);
-- Set the message body content as a string. Set the Mode field to Message.
function Is_Valid (D : in Data) return Boolean;
-- Checking validity of the HTTP response
end AWS.Response.Set;