hi @prashanth ponugoti 

To use hypps you have to install CSP Gateaway in an external apache (or nginx) web server.

This external web server can be configured for https (with let's encrypt certifcate if you need fee certificates)

The documentation for csp gateway.

Modifying internal server configuration is a bad idea because in new versions of Iris, it will not be included in the distribution.

Thanks Julius,

It was exactly what i needed. My goal was to copy properties from a dynamic object to a persistent object, but in dynamic object for reference, I have only id, not a ref.

So i made this : (main class)

Class Bna.Utils.DynToPersistent Extends %RegisteredObject
{

Property DynObject As %Library.DynamicObject;

Property PersistentObject;

Method %OnNew(dynObject As %Library.DynamicObject, persistentObject) As %Status
{
    Set ..DynObject = dynObject
    Set ..PersistentObject = persistentObject
    Return $$$OK
}

Method copyDynToPersistent()
{
    set pClass = ..PersistentObject.%ClassName(1)
    Set iterator = ..DynObject.%GetIterator()
    while iterator.%GetNext(.pProp, .pValue) {
        Set pType = ##class(Bna.Utils.Common).GetPersistentObjectPropertyType(pClass,pProp)
        Set isRef = ##class(Bna.Utils.Common).PersistentObjectPropertyTypeIsReference(pType)
        if isRef {
            set value = $ZOBJCLASSMETHOD(pType, "%OpenId", pValue)
        } else {
            set value = pValue
        }
        Set $ZOBJPROPERTY(..PersistentObject, pProp) = value
    }
}

}

(utility methods) :


ClassMethod GetPersistentObjectPropertyType(pClass As %String, pKey As %String) As %String
{
	set def=##class(%Dictionary.PropertyDefinition).%OpenId(pClass_"||"_pKey)
	if def Return def.Type
}

ClassMethod PersistentObjectPropertyTypeIsReference(pType) As %Boolean
{
	if $EXTRACT(pType,1,1) = "%" { Return 0 }
	else { Return 1 }
}

 I think my test for reference detection can be light, but enough in my context

Thanks Eduard,

That's my first try  (doesn't work, global ^Pierre not set with login)

It seems that method in my class doesn't override the methods on %CSP/REST.

This the beginning of my class which extends %CSP.REST, Do I miss something ?

Class Bna.Api.Bna2024 Extends %CSP.REST
{
Parameter HandleCorsRequest = 1;
Parameter CHARSET = "UTF-8";
Parameter CONTENTTYPE = "application/json";
XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ]
{
<Routes>
    <Route Url="/lists" Method="GET" Call="GetLists" />
    <Route Url="/me" Method="GET" Call="GetUserInformations" />
    <Route Url="/reset-password" Method="POST" Call="ResetUtilisateurPassword" />
    <Route Url="/utilisateurs" Method="GET" Call="GetUtilisateur" />
    <Route Url="/utilisateurs" Method="POST" Call="CreateUtilisateur" />
    <Route Url="/utilisateurs" Method="PATCH" Call="ModifyUtilisateur" />
    <Route Url="/utilisateurs" Method="DELETE" Call="DeleteUtilisateur" />
</Routes>
}

ClassMethod Login(skipheader As %Boolean = 1) As %Status [ ProcedureBlock = 0 ]
{
    Set ^Pierre("login")="on login (by overrided Login method)"
    Return ##super(skipheader)
}
...