@@ -31,7 +31,6 @@ import Data.Aeson hiding (Array, Bool, Object, String)
31import qualified Data.Aeson as A
31import qualified Data.Aeson as A
32import Data.Aeson.TH
32import Data.Aeson.TH
33import Data.Aeson.Types (Parser)
33import Data.Aeson.Types (Parser)
34−import Data.Foldable (foldMap)
35import Data.Function (on)
34import Data.Function (on)
36import qualified Data.HashMap.Strict as Map
35import qualified Data.HashMap.Strict as Map
37import Data.Maybe
36import Data.Maybe
@@ -439,12 +438,10 @@ serviceName = Text.unpack . (<> "Service") . toCamel . _sCanonicalName
440scopeName :: Service a -> Text -> String
439scopeName :: Service a -> Text -> String
441scopeName s k = Text.unpack . toCamel $
440scopeName s k = Text.unpack . toCamel $
442− case parts of
441+ case filter (not . url) (Text.split (== '/') k) of
443 [] -> _sCanonicalName s <> "AllScope"
442 [] -> _sCanonicalName s <> "AllScope"
444 xs -> foldMap upperHead xs <> "Scope"
443 xs -> foldMap upperHead xs <> "Scope"
446− parts = filter (not . url) (Text.split (== '/') k)
448 url x = Text.null x
445 url x = Text.null x
449 || Text.isPrefixOf "http" x
446 || Text.isPrefixOf "http" x
450 || Text.isPrefixOf "www" x
447 || Text.isPrefixOf "www" x