if_http_extension~handle_request

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


  METHOD if_http_extension~handle_request.

    go_server = server.
    go_server->response->if_http_entity~suppress_content_type( ).
    init( ).

    parse_uri( ).

    IF gs_error IS NOT INITIAL.
      report_error( ).
      EXIT.
    ENDIF.

    CASE gv_mode.
      WHEN 'GET'.
        CASE gv_command.
          WHEN 'info'. process_info( ).
          WHEN 'get'. process_get( ).
          WHEN 'docGet'. process_docget( ).
          WHEN 'delete'. process_delete( ).
          WHEN 'search'. process_search( ).
          WHEN 'attrSearch'. process_attrsearch( ).
          WHEN 'serverInfo'. process_serverinfo( ).
          WHEN 'adminContRep'. process_admincontrep( ).
          WHEN 'getCert'. process_rep_certget( ).
          WHEN OTHERS. gs_error-status_code = 400.
        ENDCASE.

      WHEN 'HEAD'.
        CASE gv_command.
          WHEN 'get'. process_get( ).
          WHEN OTHERS. gs_error-status_code = 400.
        ENDCASE.

      WHEN 'PUT'.
        CASE gv_command.
          WHEN 'create'. process_create( ).
          WHEN 'append'. process_append( ).
          WHEN 'update'. process_update( ).
          WHEN 'putCert'. process_putcert( ).
          WHEN 'adminContRep'. process_admincontrep( ).
          WHEN OTHERS. gs_error-status_code = 400.
        ENDCASE.

      WHEN 'POST'.
        CASE gv_command.
          WHEN 'create'. process_create_post( ).
          WHEN 'mCreate'. process_mcreate_post( ).
          WHEN 'update'. process_update_post( ).
          WHEN OTHERS. gs_error-status_code = 400.
        ENDCASE.

      WHEN OTHERS. gs_error-status_code = 400.
    ENDCASE.

    IF gs_error IS NOT INITIAL.
      report_error( ).
      EXIT.
    ENDIF.

    IF gv_body IS NOT INITIAL.
      go_server->response->set_cdata( data = gv_body ).
    ENDIF.

    if_http_extension~flow_rc = if_http_extension=>co_flow_ok_others_opt.