-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Expand file tree
/
Copy pathApplyTo.cs
More file actions
61 lines (57 loc) · 2.08 KB
/
Copy pathApplyTo.cs
File metadata and controls
61 lines (57 loc) · 2.08 KB
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
using System;
using System.Collections.Generic;
using ServiceStack.Web;
namespace ServiceStack
{
public static class ApplyToUtils
{
static ApplyToUtils()
{
var map = new Dictionary<string, ApplyTo>();
foreach (var entry in ApplyToVerbs)
{
map[entry.Value] = entry.Key;
}
VerbsApplyTo = map;
}
public static Dictionary<string, ApplyTo> VerbsApplyTo;
public static readonly Dictionary<ApplyTo, string> ApplyToVerbs = new Dictionary<ApplyTo, string> {
{ApplyTo.Get, HttpMethods.Get},
{ApplyTo.Post, HttpMethods.Post},
{ApplyTo.Put, HttpMethods.Put},
{ApplyTo.Delete, HttpMethods.Delete},
{ApplyTo.Patch, HttpMethods.Patch},
{ApplyTo.Options, HttpMethods.Options},
{ApplyTo.Head, HttpMethods.Head},
{ApplyTo.Connect, "CONNECT"},
{ApplyTo.Trace, "TRACE"},
{ApplyTo.PropFind, "PROPFIND"},
{ApplyTo.PropPatch, "PROPPATCH"},
{ApplyTo.MkCol, "MKCOL"},
{ApplyTo.Copy, "COPY"},
{ApplyTo.Move, "MOVE"},
{ApplyTo.Lock, "LOCK"},
{ApplyTo.UnLock, "UNLOCK"},
{ApplyTo.Report, "REPORT"},
{ApplyTo.CheckOut, "CHECKOUT"},
{ApplyTo.CheckIn, "CHECKIN"},
{ApplyTo.UnCheckOut, "UNCHECKOUT"},
{ApplyTo.MkWorkSpace, "MKWORKSPACE"},
{ApplyTo.Update, "UPDATE"},
{ApplyTo.Label, "LABEL"},
{ApplyTo.Merge, "MERGE"},
{ApplyTo.MkActivity, "MKACTIVITY"},
{ApplyTo.OrderPatch, "ORDERPATCH"},
{ApplyTo.Acl, "ACL"},
{ApplyTo.Search, "SEARCH"},
{ApplyTo.VersionControl, "VERSION-CONTROL"},
{ApplyTo.BaseLineControl, "BASELINE-CONTROL"},
};
public static ApplyTo HttpMethodAsApplyTo(this IRequest req)
{
return VerbsApplyTo.TryGetValue(req.Verb, out var applyTo)
? applyTo
: ApplyTo.None;
}
}
}