process_putcert

in src/zgoog_cl_content_repo_gcs.clas.abap [0:0]


  METHOD process_putcert.
    DATA lo_contrep TYPE REF TO data.
    DATA lv_pversion  TYPE string ##NEEDED.
    DATA lv_authid    TYPE string.
    DATA lo_entity    TYPE REF TO if_http_entity.
    DATA lv_data      TYPE xstring.

    FIELD-SYMBOLS <lv_contrep> TYPE c.

    get_parameter_c( EXPORTING iv_name      = 'contRep '
                               iv_mandatory = 's'
                     IMPORTING er_value     = lo_contrep ).

    ASSIGN lo_contrep->* TO <lv_contrep>.

    lv_pversion = get_parameter( iv_name      = 'pVersion'
                                 iv_mandatory = 'X' ).
    lv_authid = get_parameter( iv_name      = 'authId'
                               iv_mandatory = 'X' ).

    check_parameter_consistence( ).
    IF gs_error IS NOT INITIAL.
      RETURN.
    ENDIF.

    lo_entity = go_server->request.

    lv_data = lo_entity->get_data( vscan_scan_always = 'X' ).

    CALL FUNCTION 'SCMS_RACL_PUT_CERT'
      EXPORTING
        contrep = <lv_contrep>
        data    = lv_data
        authid  = lv_authid
      EXCEPTIONS
        OTHERS  = 500.

    IF sy-subrc <> 0.
      gs_error-status_code = sy-subrc.
      sys_error_set( ).
      EXIT.
    ENDIF.

    go_server->response->set_status( code   = 200
                                     reason = 'OK' ).