PageRenderTime 92ms CodeModel.GetById 89ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/src/Manos/Manos.Http/IHttpTransaction.cs

http://github.com/jacksonh/manos
C# | 67 lines | 29 code | 15 blank | 23 comment | 0 complexity | e78b78698d4d1dbfc1566332dad94bbc MD5 | raw file
 1//
 2// Copyright (C) 2010 Jackson Harper (jackson@manosdemono.com)
 3//
 4// Permission is hereby granted, free of charge, to any person obtaining
 5// a copy of this software and associated documentation files (the
 6// "Software"), to deal in the Software without restriction, including
 7// without limitation the rights to use, copy, modify, merge, publish,
 8// distribute, sublicense, and/or sell copies of the Software, and to
 9// permit persons to whom the Software is furnished to do so, subject to
10// the following conditions:
11// 
12// The above copyright notice and this permission notice shall be
13// included in all copies or substantial portions of the Software.
14// 
15// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22//
23//
24
25
26
27using System;
28using System.Collections;
29using System.Collections.Generic;
30using Manos.IO;
31
32
33namespace Manos.Http {
34
35	public interface IHttpTransaction {
36		
37		Context Context {
38			get;
39		}
40
41		IHttpRequest Request {
42			get;
43		}
44
45		IHttpResponse Response {
46			get;
47		}
48
49		HttpServer Server {
50			get;
51		}
52
53		bool Aborted {
54			get;	
55		}
56
57		bool ResponseReady {
58			get;
59		}
60
61		void OnRequestReady ();
62		void OnResponseFinished ();
63
64		void Abort (int status, string message, params object [] p);
65	}
66}
67