* Makefile: Add a System.Core.dll reference; embed monodoc.xml as a
[mono.git] / mcs / class / System.Runtime.Remoting / get_mono_http
1 #!/bin/bash
2 for i in \
3         AuthenticationSchemes.cs \
4         AuthenticationSchemeSelector.cs \
5         HttpResponseHeader.cs \
6         HttpRequestHeader.cs \
7         ChunkedInputStream.cs \
8         ChunkStream.cs \
9         EndPointManager.cs \
10         EndPointListener.cs \
11         HttpConnection.cs \
12         HttpListener.cs \
13         HttpListenerContext.cs \
14         HttpListenerBasicIdentity.cs \
15         HttpListenerException.cs \
16         HttpListenerPrefixCollection.cs \
17         HttpListenerRequest.cs \
18         HttpListenerResponse.cs \
19         HttpStreamAsyncResult.cs \
20         HttpUtility.cs \
21         ListenerAsyncResult.cs \
22         ListenerPrefix.cs \
23         RequestStream.cs \
24         ResponseStream.cs \
25         WebHeaderCollection.cs;
26 do sed -e '1{
27 i\#define EMBEDDED_IN_1_0\n
28 }' \
29         -e 's/#if NET_2_0 && SECURITY_DEP/#if EMBEDDED_IN_1_0/' \
30         -e 's/#if NET_2_0/#if EMBEDDED_IN_1_0/' \
31         -e 's/public sealed class/internal class/' \
32         -e 's/public class/internal class/' \
33         -e 's/public delegate/internal delegate/' \
34         -e 's/public enum/internal enum/' \
35         -e 's/public interface/internal delegate/' \
36         -e 's/namespace System.Net/using System; using System.Net; namespace MonoHttp/' \
37         ../System/System.Net/$i > MonoHttp/$i; done
38
39 #these are only needed in 1.0
40 for f in \
41         AuthenticationSchemes.cs \
42         AuthenticationSchemeSelector.cs \
43         EndPointManager.cs \
44         EndPointListener.cs \
45         HttpListener.cs \
46         HttpListenerException.cs \
47         HttpListenerPrefixCollection.cs \
48         HttpListenerBasicIdentity.cs \
49         HttpResponseHeader.cs \
50         HttpRequestHeader.cs;
51 do sed -e '0,/#if.*EMBEDDED_IN_1_0.*$/s//#if !NET_2_0/' -i MonoHttp/$f; done
52
53 #break some other internal dependencies
54 sed -e 's/cookie.ToClientString ()/MonoHttp.Utility.ToClientString (cookie)/' -i MonoHttp/HttpListenerResponse.cs
55 sed -e 's#bool ign = (listener == null)#bool ign = false;//#' -i MonoHttp/HttpConnection.cs
56
57 #rewrite 2.0->1.0 API
58 sed -e 's/if (Uri.MaybeUri (raw_url) && Uri.TryCreate (raw_url, UriKind.Absolute, out raw_uri))/#if NET_2_0\nif (MonoHttp.Utility.MaybeUri (raw_url) \&\& Uri.TryCreate (raw_url, UriKind.Absolute, out raw_uri))\n#else\ntry { raw_uri = new Uri (raw_url); } catch { raw_uri = null; } if (url != raw_uri \&\& (raw_uri.Host == null || raw_uri.Host.Length == 0)) raw_uri = null; if (raw_uri != null)\n#endif\n/' \
59     -e 's/if (!Uri.TryCreate (base_uri + path, UriKind.Absolute, out url)){/#if NET_2_0\nif (!Uri.TryCreate (base_uri + path, UriKind.Absolute, out url)){\n#else\ntry { url = new Uri (base_uri + path); } catch {}; if (url != null \&\& (url.Host == null || url.Host.Length == 0)) url = null;  if (url == null) {\n#endif\n/' \
60     -e 's/string.Compare (method, m, StringComparison.InvariantCultureIgnoreCase)/string.Compare (method, m, true, System.Globalization.CultureInfo.InvariantCulture)/' \
61     -i MonoHttp/HttpListenerRequest.cs
62
63 sed -e 's/X509Certificate2 cert;//' \
64     -e 's/epl.cert == null || //' \
65     -e 's/new HttpConnection (accepted, epl, epl.secure, epl.cert, epl.key);/new HttpConnection (accepted, epl);/' \
66     -e 's/if (Uri.MaybeUri (raw_url) && Uri.TryCreate (raw_url, UriKind.Absolute, out raw_uri))/#if NET_2_0\nif (MonoHttp.Utility.MaybeUri (raw_url) \&\& Uri.TryCreate (raw_url, UriKind.Absolute, out raw_uri))\n#else\ntry { raw_uri = new Uri (raw_url); } catch { raw_uri = null; } if (raw_uri != null)\n#endif\n/' \
67 -i MonoHttp/EndPointListener.cs
68
69 sed -e 's/prefixes.Remove (uriPrefix);/prefixes.Contains (uriPrefix); if (result) &;/' \
70         -i MonoHttp/HttpListenerPrefixCollection.cs