UrlTokenBindings.cpp 891 B

123456789101112131415161718192021222324252627282930313233343536
  1. #include <UrlTokenBindings.h>
  2. UrlTokenBindings::UrlTokenBindings(TokenIterator& patternTokens, TokenIterator& requestTokens)
  3. : patternTokens(patternTokens),
  4. requestTokens(requestTokens)
  5. { }
  6. bool UrlTokenBindings::hasBinding(const char* searchToken) const {
  7. patternTokens.reset();
  8. while (patternTokens.hasNext()) {
  9. const char* token = patternTokens.nextToken();
  10. if (token[0] == ':' && strcmp(token+1, searchToken) == 0) {
  11. return true;
  12. }
  13. }
  14. return false;
  15. }
  16. const char* UrlTokenBindings::get(const char* searchToken) const {
  17. patternTokens.reset();
  18. requestTokens.reset();
  19. while (patternTokens.hasNext() && requestTokens.hasNext()) {
  20. const char* token = patternTokens.nextToken();
  21. const char* binding = requestTokens.nextToken();
  22. if (token[0] == ':' && strcmp(token+1, searchToken) == 0) {
  23. return binding;
  24. }
  25. }
  26. return NULL;
  27. }