include passthrough params in --describe-other-params
This commit is contained in:
parent
aa949bbb7d
commit
2be4122bfc
8 changed files with 46 additions and 27 deletions
|
@ -792,7 +792,10 @@ lenientRemoteConfigParser = addRemoteConfigParser specialRemoteConfigParsers $
|
|||
, trueFalseParser readonlyField False
|
||||
(FieldDesc "enable readonly mode")
|
||||
]
|
||||
, remoteConfigRestPassthrough = const True
|
||||
, remoteConfigRestPassthrough = Just
|
||||
( const True
|
||||
, [("*", FieldDesc "all other parameters are passed to external special remote program")]
|
||||
)
|
||||
}
|
||||
|
||||
{- When the remote supports LISTCONFIGS, only accept the ones it listed.
|
||||
|
@ -804,14 +807,14 @@ strictRemoteConfigParser external = listConfigs external >>= \case
|
|||
let s = S.fromList (map fst l)
|
||||
let listed f = S.member (fromProposedAccepted f) s
|
||||
return $ lenientRemoteConfigParser
|
||||
{ remoteConfigRestPassthrough = listed }
|
||||
{ remoteConfigRestPassthrough = Just (listed, l) }
|
||||
|
||||
listConfigs :: External -> Annex (Maybe [(Setting, Description)])
|
||||
listConfigs :: External -> Annex (Maybe [(Setting, FieldDesc)])
|
||||
listConfigs external = handleRequest external LISTCONFIGS Nothing (collect [])
|
||||
where
|
||||
collect l req = case req of
|
||||
CONFIG s d -> Just $ return $
|
||||
GetNextMessage $ collect ((s, d) : l)
|
||||
GetNextMessage $ collect ((s, FieldDesc d) : l)
|
||||
CONFIGEND -> result (Just (reverse l))
|
||||
UNSUPPORTED_REQUEST -> result Nothing
|
||||
_ -> Nothing
|
||||
|
|
|
@ -78,7 +78,7 @@ encryptionConfigs = S.fromList (map parserForField encryptionConfigParsers)
|
|||
parseEncryptionConfig :: RemoteConfig -> Either String ParsedRemoteConfig
|
||||
parseEncryptionConfig c = parseRemoteConfig
|
||||
(M.restrictKeys c encryptionConfigs)
|
||||
(RemoteConfigParser encryptionConfigParsers (const False))
|
||||
(RemoteConfigParser encryptionConfigParsers Nothing)
|
||||
|
||||
encryptionFieldParser :: RemoteConfigFieldParser
|
||||
encryptionFieldParser = RemoteConfigFieldParser
|
||||
|
|
|
@ -102,8 +102,13 @@ remote = specialRemoteType $ RemoteType
|
|||
, optionalStringParser mungekeysField HiddenField
|
||||
, optionalStringParser AWS.s3credsField HiddenField
|
||||
]
|
||||
, remoteConfigRestPassthrough = \f ->
|
||||
isMetaHeader f || isArchiveMetaHeader f
|
||||
, remoteConfigRestPassthrough = Just
|
||||
( \f -> isMetaHeader f || isArchiveMetaHeader f
|
||||
,
|
||||
[ ("x-amz-meta-*", FieldDesc "http headers to add when storing on S3")
|
||||
, ("x-archive-meta-*", FieldDesc "http headers to add when storing on Internet Archive")
|
||||
]
|
||||
)
|
||||
}
|
||||
, setup = s3Setup
|
||||
, exportSupported = exportIsSupported
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue