public void RegisterAndRetrieveLink() { // Arrange var registry = new SemanticsRegistry(); registry.RegisterLinkType<Link>("foo"); //Act var link = registry.CreateLink("foo"); //Assert Assert.IsNotNull(link); }
public void RegisterAndRetrieveDerivedLink() { // Arrange var registry = new SemanticsRegistry(); registry.RegisterLinkType<FooLink>("foo"); //Act var link = registry.CreateLink("foo"); //Assert Assert.IsNotNull(link); Assert.IsInstanceOfType(link,typeof(FooLink)); }
public static void RegisterSemantics(SemanticsRegistry registry) { registry.RegisterLinkType<NorthLink>("north"); registry.RegisterLinkType<SouthLink>("south"); registry.RegisterLinkType<EastLink>("east"); registry.RegisterLinkType<WestLink>("west"); registry.RegisterLinkType<StartLink>("start"); registry.RegisterLinkType<CurrentLink>("current"); registry.RegisterLinkType<ExitLink>("exit"); registry.RegisterFormatter(new XmlFormatter("application/vnd.amundsen.maze+xml")); registry.RegisterLinkExtractor(new MazeLinkExtractor()); }
private void ExtractHeaderLinks(HttpResponseHeaders responseHeaders, SemanticsRegistry linkFactory) { _HeaderLinks = new List<Link>(); foreach (var header in responseHeaders.Where(h => h.Key.ToLowerInvariant() == "link")) { var links = header.Value.First(); foreach (Match match in LinkHeaderParser.Matches(links)) { string relation = null; if (match.Groups["rel"].Success) { relation = match.Groups["rel"].Value; } var link = linkFactory.CreateLink(relation); link.Target = new Uri(match.Groups["href"].Value, UriKind.RelativeOrAbsolute); _HeaderLinks.Add(link); } } }
public static void RegisterSemantics(SemanticsRegistry semantics) { semantics.RegisterLinkType<First>("first"); semantics.RegisterLinkType<Index>("index"); semantics.RegisterLinkType<Last>("last"); semantics.RegisterLinkType<Message>("message"); semantics.RegisterLinkType<MessagePost>("message-post"); semantics.RegisterLinkType<MessageReply>("message-reply"); semantics.RegisterLinkType<MessageShare>("message-share"); semantics.RegisterLinkType<MessageAll>("message-all"); semantics.RegisterLinkType<MessageFriends>("message-friends"); semantics.RegisterLinkType<MessageMe>("message-me"); semantics.RegisterLinkType<MessagesMentions>("messages-mentions"); semantics.RegisterLinkType<MessagesShares>("messages-shares"); semantics.RegisterLinkType<MessagesSearch>("messages-search"); semantics.RegisterLinkType<Next>("next"); semantics.RegisterLinkType<Previous>("previous"); semantics.RegisterLinkType<Self>("self"); semantics.RegisterLinkType<User>("user"); semantics.RegisterLinkType<UserAdd>("user-add"); semantics.RegisterLinkType<UserFollow>("user-follow"); semantics.RegisterLinkType<UserMe>("user-me"); semantics.RegisterLinkType<UserUpdate>("user-update"); semantics.RegisterLinkType<UsersAll>("users-all"); semantics.RegisterLinkType<UsersFriends>("users-friends"); semantics.RegisterLinkType<UsersFollowers>("users-followers"); semantics.RegisterLinkType<UsersSearch>("users-search"); semantics.RegisterLinkType<Website>("website"); semantics.RegisterLinkType<UserAddForm>("user-add-form"); semantics.RegisterLinkType<MessagePostForm>("message-post-form"); semantics.RegisterLinkType<MessagesSearchForm>("messages-search-form"); semantics.RegisterLinkType<MessageShareForm>("message-share-form"); semantics.RegisterFormatter(new MicroblogFormatter()); semantics.RegisterLinkExtractor(new MicroblogLinkExtractor()); }
private RestAgent(HttpClient httpClient, SemanticsRegistry semanticsRegistry) { _HttpClient = httpClient; _SemanticsRegistry = semanticsRegistry; CreateDefaultResponseActions(); }